`
zccst
  • 浏览: 3323027 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

《JavaScript模式》读书笔记

阅读更多
作者:zccst

第四章:函数
函数的两个特征:是对象;提供作用域。

函数是对象表现如下:
  • 可以运行时动态创建,还可以在程序执行过程中创建
  • 函数可以分配给变量,可以将它们的引用复制到其他变量,可以被扩展,删除
  • 可以作为参数传给其他函数,并且还可以有其他函数返回
  • 函数可以有自己的属性和方法


下面介绍八种函数

一、API模式,为函数提供更好且更整洁的接口。
1,回调模式
也就是说,作为回调函数传递的时候
例如obj1.method1(obj2.method2)时,method1方法的this指向obj1,但obj2.method2方法的this并不指向obj2,而是window。
如果需要将obj2.method2的this指向某一个对象,则需要使用call或apply。具体是:

obj1 = {
    method1:function(callback, xxObj){
        //callback(args);//如果直接运行this指向window
        callback.call(xxObj, args);//就可以了
    }
}
批注:this指向window的还有超时函数

2,即时函数的返回值是另一个函数
首先,什么是即时函数?
(function(){
  alert("watch out!");
}());

(function(){
  alert("watch out!");
})();
(1)即时函数的传参
(2)即时函数的返回值。返回值是一个函数的模式得到广泛应用。


3,配置对象
var conf = {...};
addPerson(conf);

4,curry函数
把两个参数的函数拆成两部,第一个子函数接收第一个参数,再里面嵌套第二个子函数接收第二个参数。

二、性能模式,可以帮助加速代码运行
1,自定义函数
很奇葩的类型
var scareMe = function(){
  alert("Boo!");
  scareMe = function(){
    alert("Double Boo!");
  };
};
scareMe();//Boo!
scareMe();//Double Boo!

2,函数属性——备忘模式
即使用函数的静态属性和方法来保存实例

三、初始化模式
1,即时函数
2,即时对象初始化
({
  xx
  xx
  init:function(){}
}).init();
3,初始化时分支



第五章:对象

如果通过共有方法访问私有复合数据类型时,可能会导致私有复合数据类型被改写,所以最好不要直接传递,
如果需要传递,则有一下几种办法:
1,只传递复合数据类型的子属性(即基本数据类型)
2,通过浅复制和深复制的方式。

分享到:
评论

相关推荐

    javascript 笔记 适合初学者 jquery chm 资料

    通过阅读笔记和深入学习jQuery CHM,初学者可以在短时间内提升自己的前端开发技能。 此外,实践是检验学习效果的最好方式。初学者应该尝试自己动手编写简单的JavaScript程序和使用jQuery实现动态效果,这样不仅可以...

    SpringBoot+Vue读书笔记功能管理系统(前后端分离包含数据库脚本文件).zip

    Vue.js则是一个轻量级的前端JavaScript框架,以其简洁的API和组件化开发模式受到开发者喜爱。在这个读书笔记系统中,Vue被用来构建用户界面,通过Ajax异步通信与SpringBoot后端进行数据交互,实现页面动态更新和交互...

    12_JavaScript笔记.pdf

    JavaScript是一种广泛应用于网页和网络应用的编程语言,尤其擅长实现网页的动态效果和交互功能。...对于面试者来说,扎实的JavaScript基础是必不可少的,通过阅读和整理笔记,可以帮助加深理解并为面试做好准备。

    韩顺平老师最全读书笔记

    "韩顺平老师最全读书笔记"这个压缩包文件正是他课程精华的集合,包含了一系列重要的IT知识点。 首先,我们来看Java部分。Java是一种广泛使用的面向对象的编程语言,以其“一次编写,到处运行”的特性闻名。笔记中的...

    跟李彦恢学javascript 电子书和课堂笔记1-15章.rar

    配合电子书阅读,作者还提供了课堂笔记和代码示例,这些资料可以帮助读者更好地理解和实践书中所学。通过观看视频教程并按照笔记动手实践,可以加深理解,巩固技能,确保学习效果更为扎实。 总之,《跟李彦恢学...

    js读书笔记以及知识要点

    在阅读JS相关书籍时,我们应当关注以下几个关键知识点: 1. **基础语法**:JS语法与C/C++类似,但更注重动态特性。包括变量声明(var、let、const)、数据类型(原始类型如number、string、boolean,复杂类型如...

    Ajax读书笔记

    Ajax(Asynchronous JavaScript and XML),即异步JavaScript与XML,是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新,这意味着可以在不重新加载整个网页的情况...

    web读书笔记

    在“web读书笔记”这个压缩包中,我们可以推测它包含了关于Web开发的个人学习记录和项目代码。"自己项目代码"这一标签暗示了这些文件可能是作者在实践Web开发过程中积累的经验和成果,尤其是以“二哥java”为名的子...

    js笔记.7z

    最后,"javascript模块化笔记.pdf"和"严格模式笔记.pdf"分别讨论了JavaScript的模块系统和严格模式。模块化是大型项目组织代码的关键,而严格模式则强制执行更严格的语法规则,有助于避免一些潜在的错误。 总的来说...

    基于Springboot的学生读书笔记共享系统源码数据库.doc

    ### 基于Springboot的学生读书笔记共享系统关键知识点解析 #### 一、项目背景与目标 本系统旨在为学生提供一个便捷、高效的读书笔记共享平台。随着互联网技术的发展,尤其是移动互联网的普及,学生群体对于知识...

    【狂神说】笔记(史上最全)含各类md笔记.zip

    【狂神说】笔记系列是全面且深入的IT学习资源,涵盖了从基础到进阶的各种技术领域。这个压缩包包含了JavaScript、JavaWeb、...通过阅读和实践这些笔记,开发者可以加深对各技术的理解,提高开发效率和项目管理水平。

    dom启蒙读书笔记和测试代码

    《DOM启蒙》是一本深入解析DOM...总的来说,《DOM启蒙》读书笔记和测试代码是学习和实践JavaScript DOM操作的重要参考资料,通过阅读和实践,开发者可以更好地掌握如何利用DOM来构建动态、交互丰富的Web应用。

    html+css+javascript

    在学习和实践中,学员通常会通过阅读优秀的笔记来深化理解。"学员优秀笔记javascript.pdf"可能涵盖了JavaScript的基础语法、变量、控制流、函数、对象、数组,以及与DOM交互的技巧等内容。而"学员优秀笔记...

    js4笔记.rarjs4笔记.rar

    阅读这份笔记,开发者可以深化对JavaScript的理解,提升编程技巧,同时也能了解到作者在学习过程中的思考和经验总结。 总的来说,"js4笔记.rar"和"js3笔记.rar"结合在一起,构成了一套完整的JavaScript学习资源,...

    蜗牛学院-第三阶段笔记.zip

    【标题】"蜗牛学院-第三阶段笔记.zip" 暗示这是一份来自蜗牛学院的关于其培训课程第三阶段的学习笔记。...通过详细阅读和理解这些笔记,学员能更好地理解和运用Java编程语言,提升自己的编程技能。

    对javascript的一点点认识总结《javascript高级程序设计》读书笔记

    事件的实现采用观察者模式,支持页面行为和页面外观之间的松耦合。事件可以被分为UI事件、鼠标事件、键盘事件、HTML事件和变动事件。变动事件是指当底层DOM结构发生变化时被触发的事件,这对开发动态交互式的Web应用...

    webkit源代码阅读笔记

    ### WebKit源代码阅读笔记概览 WebKit是一个开源的浏览器引擎,被广泛应用于现代的浏览器中,包括Safari、Google Chrome等。理解WebKit的源代码不仅有助于深入掌握浏览器的工作原理,还能为开发者优化Web应用性能...

Global site tag (gtag.js) - Google Analytics