JS高级
来源:互联网 发布:华为总是停用移动数据 编辑:程序博客网 时间:2024/05/24 08:34
JS高级部分
原型式继承
道格拉斯提出了种经典的函数
新增Object.create()方法来规划了原型继承,这个方法和接受两个参数 1:新对象原型的对象2:新对象定义额外属性的对象(可选)
在传入一个参数的情况下Object.create() 和object()方法是一样的
闭包:---指有权访问另一个函数作用域中的变量函数
闭包的定义:所谓“闭包”,指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。
要理解闭包,首先必须理解Javascript特殊的变量作用域。
变量的作用域无非就是两种:全局变量和局部变量。
闭包的用途:
最大用处有两个,一个是可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中。
缺点 内存消耗
例:
道格拉斯提出了种经典的函数
function object(people){function F(){}F.prototype=people;return new F();}
新增Object.create()方法来规划了原型继承,这个方法和接受两个参数 1:新对象原型的对象2:新对象定义额外属性的对象(可选)
在传入一个参数的情况下Object.create() 和object()方法是一样的
var people={ name:"zhangsan" } var student=Object(people); student.name="lisi"; alert(people.name)// 注意这里,和原型模式是一样的,类型的值始终会被共享出去案例2:
var people={ name:"zhangsan" } var student=Object(people); student.name="lisi"; alert(student.name); var student2=Object(people); student2.name="wangwu"; alert(student2.name);在没有必要大规模创建构造函数,仅仅让一个对象和另外一个对性保持类似的情况下,原型继承是完全可以胜任的
闭包:---指有权访问另一个函数作用域中的变量函数
闭包的定义:所谓“闭包”,指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。
要理解闭包,首先必须理解Javascript特殊的变量作用域。
变量的作用域无非就是两种:全局变量和局部变量。
闭包的用途:
最大用处有两个,一个是可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中。
缺点 内存消耗
例:
function fun() { i=1; function fun1() { i++; return i; } return fun1(); } var m = fun(); //m得到fun中的fun1方法 alert(m+4);注意点:this关键字 var name = "aaa"; var fun = { name:"bbb", Name:function() { var that = this; //this 关键字 return function() { //匿名函数的执行有全局性,在没有加var that = this之前,指向了全局name,会打印输出aaa return that.name; } } }; alert(fun.Name()());
0 0
- JS高级
- js高级
- JS高级。
- js高级
- js高级
- 高级js
- js 高级
- js高级
- js高级
- JS高级
- js高级
- js高级
- 【JS】js高级特性备忘
- JS高级应用
- js 高级应用
- js高级程序设计
- JS高级应用
- Ext JS高级程序设计
- 添加到UIView上的UIButton点击没反应 UITest时源文件找不到解决方案
- 排序之Java的Sort函数
- 【数据结构与算法分析】1.3 用printOut函数输出任意实数
- 什么是版本控制系统(VCS)?
- MySQL5.6 Using a password on the command line interface can be insecure解决方法;
- JS高级
- 软件测试面试题
- const的用法,特别是用在函数后面
- 论java类中的构造方法
- 使用Adapter提供的convertView优化Listview
- 软件测试的对象
- 机器学习
- hdu5536 Chip Factory (暴力+优化)
- 打开MySQL数据库远程访问的权限