Javascript的创建方法与构造函数

Posted 小刘编码员

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Javascript的创建方法与构造函数相关的知识,希望对你有一定的参考价值。

前言:各位csdn的源员们,大家好。我是小刘,初来乍到请大家多多指教,这是第10次发表博客,如有错误请大家观看后谅解,并在评论区留下您宝贵的意见,小刘将会用最大的努力去改正以及认真对待每一次代码的编写,请大家一定要多多包涵,你们的支持是我继续努力的最大动力,当然大家觉得不错可以关注我喔,带你走遍代码的每一个角落,让你感受代码的神奇之处。

 

首先我向大家透露一点点小方法,一定要认真观看喔!
 

本次用到的编程软件:DW
 

本次涉及到的内容:html,css以及javascript
 

41.javaScript thsi

解析器在调用函数每次都会向函数内部传递一个隐含的参数

这个隐含的参数就是this this 指向的是一个对象,

这个对象我们称为函数的上下文对象,根据函数调用方式不同,

this会指向不停的对象   总结this:

1.以函数的形式调用时,this永远都是window

2.以方法的形式调用时,this 就是调用方法的那个对象

function fun(a,b){//形参
		console.log("a="+a+", b="+b);
		console.log(this);
	}
	fun(12,34);//实参

在代码块中,可看到实参与形参的函数调用

function sayHello(){
		console.log(this);
	}
	sayHello();
	var obj={
		name:"zhangsan",
		sayWord:sayHello
	};
	obj.sayWord();//函数以方法的形式被调用时,this指向的是调用方法的对象

函数利用了this方法的调用,而this指向的时调用方法的对象。

var name="全部作用域中的变量name";
	function fun(){
		console.log(this.name);
	}
	var obja={
		name:"zhangsan",
		sayWord:fun
	};
	var objb={
		name:"wangwu",
		sayWord:fun
	};

在控制台输出后,大家可以看到,第一个函数输出值为“全部作用域的变量name”

而第二个则是“zhangdan”,第三个则是"wangwu",这就是利用了fun的方法,然后利用this的调用

最后在console里面输出值为所包含的名字

 

43.JavaScript使用工厂方法创建对象

var obj1={
		name:"小明",
		age:23,
		gender:"男",
		sayhello:function(){
			console.log("大家好!我是"+this.name);
		}
	};

则他输出的就是:“大家好,我是+this.name”.

var person1=creatPerson("小蓝",23,"女");
	var person2=creatPerson("小绿",20,"女");
	console.log(person1);
	person1.sayhello();
	console.log(person2);
	person2.sayhello();

代码中,输出的值为一个对象,在console。log(person1)在控制台输出中则是一个关于小蓝的信息。

其实呢,在使用工厂方法创建对象,使用的构造函数都是object这个类型 ,就导致我们无法区分出多种不同的类型对象。

var cat1=createCat("小淘",4);
	var cat2=createCat("小白",2);
	console.log(cat1);
	console.log(cat2);
	cat2.sayhello();
	console.log(typeof person1);
	console.log(typeof cat1);

而这段代码输出的值则为纯对象object,其中没有任何数据的输出。

 

本次编程结束,谢谢大家观看!!

 

 

 

 

以上是关于Javascript的创建方法与构造函数的主要内容,如果未能解决你的问题,请参考以下文章

javascript构造函数及原型对象

在构造函数与原型中声明javascript对象方法[重复]

在 Visual Studio 中创建构造函数的代码片段或快捷方式

JavaScript创建对象的默认方式:组合使用构造函数模式和原型模式

JavaScript中构造函数

javascript 创建对象,构造函数