javascript构造函数的调用方法和普通函数的调用方法

构造函数和其它函数唯一的区别就是调用方式不同,但构造函数还是函数,不存在定义构造函数的特殊语法,任何函数都可以通过new操作符来调用,只要用new操作符来调用它就可以作构造函数;但是任何函数也可以不通过new 操作符来调用,这样就和普通的函数没有区别。

function Person(name,age,job){
    
    
				this.name=name;
				this.age=age;
				this.job=job;
				this.sayName=function(){
    
    
					console.log(this.name);
				};
			}
			//用new操作符来调用
			var person=new Person("jim",26,"software eng");
			person.sayName();
			console.log(person.name);
			
			//作为普通函数的调用方法
			Person("jack",31,"Doctor");
			window.sayName();
			console.log(window.name);
			//作为普通函数的调用方法2、用this指针来调用,因为这个时候this等于window
			Person("xiaofang",33,"yanyuan");
			this.sayName();
			console.log(this.name);
			//在另一个对象的作用域中调用
			var o=new Object();
			Person.call(o,"dada",25,"paopao");  //这里用了个回调内置函数call
			o.sayName();

猜你喜欢

转载自blog.csdn.net/cdcdhj/article/details/110151619
今日推荐