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,其中没有任何数据的输出。

 

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

 

 

 

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值