您的位置:首页 > 新闻动态 > 技术文章
2019-03-07

[javascript]普通函数和构造函数的一些区别

构造函数也是一个普通函数,创建方式和普通函数一样,但构造函数习惯上首字母大写

function objectone(text){  //普通函数

var test=new Object();

test.t=300;

test.run = function(){

return (this.t - text );

}

return test;

}

var Object1 = objectone(1); //普通函数的调用方式:直接调用 person();

 

function Objecttwo(text){  //构造函数     this相当于后台自动 new Object

this.t=300;

this.run = function(){

return (this.t - text );

}

//return this; 不需要return 不需要返回对象引用

var Object2  =new Objecttwo("1");  //构造函数必须使用new运算符来调用 new Person();

 

// alert(Object1.run()); //299

// alert(Object2.run()); //299

 

// alert(Object1 instanceof Objectone);   false//不可以识别对象

// alert(Object2 instanceof Objecttwo);   true//可以识别对象引用是来自Objecttwo

 

 

//alert(Objecttwo("1")); //undefined  //不可使用普通函数调用方法

 

 

var Object3 = new Object();

Objecttwo.call(Object3,2);   //构造函数对象冒充

//alert(Object3.run()); //298  //不可使用普通函数调用方法

 


下一篇:[ECMAScript 6] 使用babel将ES6转换成ES5兼容更多浏览器
上一篇:[webpack]各种loader的安装和使用

© 2010-2020 Beasure本硕科技. All Right Reserved. 备案号:粤ICP备14074318号