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的创建方法与构造函数的主要内容,如果未能解决你的问题,请参考以下文章
在 Visual Studio 中创建构造函数的代码片段或快捷方式