jS的一些另类写法,js类的几种写法

jS的一些另类写法,js类的几种写法。1.Function构造函数

大家常用的有以下二种办法来用JavaScript写三个“类”:

落实际效果果与利益推测貌似于那样:

相似的话函数不能够一向用内置对象的构造函数来创制基本变量,不过Function构造函数却足以,Function有四个参数,参数1:供给的参数名,参数2: 函数语句.举个列子:
var func = new Function ("whatever", "console.log(whatever)");
func("今儿周五");
打印出的结果就是: 今儿周五

 

[Ctrl+A 全选
注:如需引入外界Js需刷新能力实践]

一定于以下代码:
function func (whatever) {
   console.log(whatever);
}
func("今儿周五")

1. 构造函数(public属性和方式)

1: function Person(iName, iAge){ 
 2:  this.name=iName; //public
 3:  this.age=iAge; //public 
 4:  this.ShowStudent=function(){ //public
 5:  alert(this.name);
 6:  };

 7: }

 

缺点很明显,类的属性和方法,很容易被外部修改。

上述的习性和章程都以public的。上面包车型客车事例给出private和public的个性和措施。

 

 

代码运行到 test() 后,要调用已经写好的秘籍 E() 并传递 2 个参数
叁个正是所谓目的的 ju 、 另贰个就是多个才写的函数

2.~~按位非

2. 构造函数(public, private属性和章程)

 1: function Person(iName, iAge){ 
 2:  //private field 
 3:   var name = iName;    
 4:  var age = iAge;
 5:      
 6:  //private method 
 7:   var privatefn = function(){     
 8:    alert(name); 
 9:   } 
 10:  
 11:  return {
 12:     //public field 
 13:  Name: "hello " + name,
 14:  Age: "hello " + age,
 15:  
 16:  ShowStudent: function(){
 17:  privatefn(); 
 18:  alert(this.Name); 
 19:  }
 20:  };
 21: }

 

调用:(new Person(“xiao”,”10″)).ShowStudent();

 

 

然后把这多少个参数字传送递到了 E() 方法,当然,E()方法已经在等参数了

一定于parseInt取整,属于二进制操作
console.log(~~3.94);
打印结果是4

3. 原型方法(prototype)

 1: function c(){}
 2: c.prototype={
 3:  name: "init value a",
 4:  setName: function(iName){
 5:  this.name=iName;
 6:  },
 7:  getName: function(){
 8:  alert('hello from c, name: ' + this.name);
 9:  }
 10: };
 11: (new c).getName(); // 输出hello from c, name: init value a

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图