各位老铁们好,相信很多人对深入解析:JavaScript核心技巧(第四版精读)都不是特别的了解,因此呢,今天就来为大家分享下关于深入解析:JavaScript核心技巧(第四版精读)以及的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!
伪类
不是让对象直接从其他对象继承,而是插入一个冗余的间接层:通过构造器函数产生对象。让我们从函数开始。当创建函数对象时,函数构造函数生成的函数对象将运行类似以下的代码: this.prototype={constructor: this}
这句话的意思是给函数对象添加一个prototype属性,该属性是一个对象。该对象有一个属性构造函数,其值为自身。有点复杂。看看代码你就明白了。这个prototype对象就是存放继承特性的地方。并且每个函数都会得到一个prototype对象。当调用带有新前缀的函数时,函数执行方式将会改变。如果使用new 运算符,它是一个方法而不是一个运算符。它可能会像这样执行:
Function.method("new", function()){
//创建一个新的对象,继承自构造函数的原型对象
var that=Object.create(this.prototype);
//调用构造函数并将this 绑定到新对象。
var other=this.apply(that, 参数)j;
return (typeof other==="object" other) ||那;
});现在定义一个构造器并扩充它的原型:
var 哺乳动物=函数(名称) {
this.name=名称;
};
Mammal.prototype.get_name=function() {
返回这个名称;
};
Mamal.prototype.says=function() {
返回这个。说|| "";
};构造一个实例:
var myMamal=new Mamal("mamal");
var name=myMamal.get_name();构造伪类来继承Mammal,通过定义它的constructor函数并替换它的prototype实现var Cat=函数(名称) {
this.name=名称;
this.saying="喵";
};
Cat.prototype=new Mammal();
//展开新的原型对象
Cat.prototype.test=function() {
返回“测试”;
}
//使用
var myCat=new Cat("猫");
var say=myCat.says();通过如上代码大致就能明白什么是伪类模式了。你需要了解伪类:
构造函数怎么写,怎么继承,怎么使用
对象说明符
和外部参数的概念类似。只要外部参数正确,参数的顺序并不重要。
有时构造函数需要接受一长串参数,使用对象说明符就无需记住参数的顺序。
例如:
var myObject=maker(f,l,m,c,s);
var myObject=maker({first: f, middle: m, last: l, state: s, city: c})
原型
首先使用对象字面量构造一个对象。
var myMammal={
名称: "哺乳动物",
get_name : 函数() {
返回这个名称;
},
说: 函数() {
返回这个。说|| "";
}
然后通过Object.create方法构造更多实例。
var myCat=Object.create(myMammal);
myCat.name="mycat";
myCat.saying="miao";
myCat.test=函数() {
myCat.get_name=function () {
返回“此测试”;
};
}这是一种差异化继承。其实和上面的函数继承类似。
函数化
通过函数化解决私有变量的问题。这里有一个更棒的名字,叫做应用程序模块模式。具体步骤如下:
创建对象: 1.1 相反的文字1.2 通过new 调用构造函数1.3 使用Object.create() 1.4 调用返回对象的函数可以选择定义私有变量和方法。向该对象添加一个方法。扩展方法可以访问这些参数并返回一个新对象。例子
var mamal=函数(规格){
var that={};//这里定义私有变量
that.get_name=function () {
返回“姓名”;
}
that.get_age=function () {
返回12;
}
返回那个;
}模板抽象var 构造函数=函数(spec, my) {
var that;//一些私有变量
我的=我的|| {}; //my,用于接受公共参数,共享容器
that={};//新对象
that.addFunc=函数() {
【深入解析:JavaScript核心技巧(第四版精读)】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
我已经重读了好几遍《JavaScript 语言精粹》了,每次都能发现新的东西!
有10位网友表示赞同!
这本书对我理解 JavaScript 真是很有帮助,它讲解的很透彻。
有14位网友表示赞同!
学习编程的人,尤其是想深入了解 JavaScript 的朋友们,强烈推荐这本书啊!
有13位网友表示赞同!
这次重读《JavaScript 语言精粹》让我更加清楚地认识到它的强大之处!
有18位网友表示赞同!
我喜欢这本书的写作风格,很清晰易懂,即使初学者也能看懂。
有7位网友表示赞同!
这个标题把我勾住了,我一直在想找一本讲 JavaScript 精髓的好书!
有11位网友表示赞同!
之前看过一些关于JavaScript的文章,但这本书更深入细致,值得一读。
有10位网友表示赞同!
感觉学习 JavaScript 遇到瓶颈的时候,再回头看看这本书总能给我启发。
有15位网友表示赞同!
对高级 Javascript 功能真的很期待可以多了解一些!
有9位网友表示赞同!
重读四遍也能受益匪浅吗?我得去试试看!
有19位网友表示赞同!
看来这本《JavaScript 语言精粹》是 JavaScript 爱好者的必读书单了!
有8位网友表示赞同!
我已经开始阅读这本书了,感觉收获很大,尤其是对一些细节的讲解!
有12位网友表示赞同!
想了解 JavaScript 的核心知识点,这本书应该能满足需求吧?
有13位网友表示赞同!
学习编程不容易,一本好书能让人进步更快,期待这本新解读!
有16位网友表示赞同!
这本书能让我更好地掌握 JavaScript 的技巧吗?
有10位网友表示赞同!
这种深入浅出、重温多次的效果最好的类型书籍我特别喜欢!
有18位网友表示赞同!
我一直想深入学习 JavaScript,不知道这本书是不是合适?
有16位网友表示赞同!
我已经读过很多关于 JavaScript 的教程,但这本精粹书会不会有不同之处?
有7位网友表示赞同!
看标题感觉这本书针对的是有一定基础的人群吧?
有16位网友表示赞同!