《JavaScript模式》第4章 函数】的更多相关文章

javascript进阶课程--第一章--函数 学习要点 了解内存管理 掌握全局函数的使用 知识点 基本类型和引用类型 基本类型值有:undefined,NUll,Boolean,Number和String 这些类型分别在内存中占有固定的大小空间,例如:数值型在内存中占有八个字节,布尔值只占有一个字节...... 他们的值保存在栈空间,我们通过按值来访问的. 引用类型:对象.数组.函数. 引用类型内存中占有的空间不固定,但是内存地址大小是固定的,因此存储的实际上是数据的内存地址. 在变量复制时候…
本章主要帮助大家写出高质量的JS代码的方法,模式和习惯,例如:避免使用全局变量,使用单个的var变量声明,缓存for循环的长度变量length等 一.尽量避免使用全局变量 1 每一个js环境都有一个全局对象,通过this可以访问,创建的每一个全局变量都归这个全局对象所有,在浏览器中,这个全局对象this等于window(在其他环境中,this对象不一定是window对象) var sss="sss"; this.sss;//"sss" window.sss;//&q…
一:模式 模式是一个通用问题的解决方案,可以提供一个更好的实践经验.有用的抽象化表示和解决一类问题的模板. 本书主要讨论如下三种类型的模式 1 设计模式:可复用面向对象软件的基础,包括singleton.factory.decorator.observer等 2 编码模式:是js特有的模式,它提供了关于该语言独特的很好的体验 3 反模式:并不是bug或者编码错误,而是常见的,引起的问题比解决的问题更多的一种方法 二:JS:基本概念 2.1:面向对象 1 js是一门面向对象的语言,只有5种基本类型…
一 背景 js函数的两个特点:1 函数是第一类对象(first-class object):2 函数可以提供作用域 1 函数是对象: 1 函数可以在运行时动态创建,还可以在程序执行过程中创建 2 可以被赋值给变量,还可以被删除 3 可以作为参数传递给别的函数,可以作为返回值,被别的函数返回, 4 可以拥有自己的属性和方法 2 由于JS没有块级作用域的概念,因此在涉及到控制变量作用域的时候,函数是必不可少的工具 1.1 消除术语歧义:我们来看一下命名函数表达式.你们函数表达式以及函数声明的定义 1…
一 命名空间模式 1 命名空间模式的代码格式 var MYAPP={ name:"", version:"1.0", init:function(){ } }; 2 命名空间的优点: 减少全局变量的数量, 避免命名冲突 3 缺点: 需要输入更多的字符,每个函数和变量前面都需要附加前缀 长嵌套名字需要更多的解析查询时间 var a=""; function addPerson(){ } function someVar="";…
现代继承模式可表述为:其他任何不需要以类的方式考虑得模式. 现代继承方式#1 —— 原型继承之无类继承模式 function object(o) { function F() {}; F.prototype = o; return new F(); } function Person() { this.name = 'king'; } Person.prototype.getName = function () { return this.name; }; var papa = new Pers…
实现类式继承的目标是通过构造函数Child()获取来自于另外一个构造函数Parent()的属性,从而创建对象. 1.类式继承模式#1 —— 默认方式(原型指向父函数实例) function Parent(name) { this.name = name || 'king'; } Parent.prototype.say = function () { return this.name; }; function Child(name) { this.name = name; } function…
一.前言 今天地铁上,看到很多拖着行李箱的路人,想回家了. 在上篇博客结尾,记录到了函数的几种创建方式,简单说了下创建差异,以及不同浏览器对于name属性的支持,这篇博客将从第四章函数的回调模式说起.我想了想,还是把一篇博客的知识点控制在五个以内,太长了我自己都懒得看,而且显得特别混杂.标题还是简要说下介绍了哪些知识,也方便自己以后查阅,那么开始. 二.函数的回调模式 1.什么是函数回调模式? 当调用函数时,我们可以将函数作为参数传入到需要调用的函数中,例如我们为函数A传入一个函数B,当函数A执…
5-1什么是函数 函数的作用,可以写一次代码,然后反复地重用这个代码. 如:我们要完成多组数和的功能. var sum;   sum = 3+2; alert(sum);   sum=7+8 ; alert(sum);   ....  //不停重复两行代码 如果要实现8组数的和,就需要16行代码,实现的越多,代码行也就越多.所以我们可以把完成特定功能的代码块放到一个函数里,直接调用这个函数,就省去重复输入大量代码的麻烦. 使用函数完成: function add2(a,b){ sum = a +…
简介 在软件开发过程中,模式是指一个通用问题的解决方案.一个模式不仅仅是一个可以用来复制粘贴的代码解决方案,更多地是提供了一个更好的实践经验.有用的抽象化表示和解决一类问题的模板. 对象有两大类: 本地对象(Native):由ECMAScript标准定义的对象 宿主对象(Host):由宿主环境创建的对象(比如浏览器环境) 本地对象也可以被归类为内置对象(比如Array.Date)或自定义对象(var o = {}). 宿主对象包含window和所有DOM对象.如果你想知道你是否在使用宿主对象,将…