码迷,mamicode.com
首页 > 其他好文 > 详细

面向对象中一丢丢小知识点

时间:2016-08-12 01:18:03      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:

1、使用 Function 创建函数与原来的方式创建函数:

Function 是使用字符串构建函数, 那么就可以在程序运行过程中构建函数

将数组形式的字符串, 转换成数组对象

var arr = ( new Function( ‘return ‘ + str + ‘;‘ ) )();

2、eval();不常用,易受恶意攻击。用()将其转换成表达式,{}不再是语句块,转换成代码块而是对象了

3、变量名提升:预解析(标记声明)、代码执行、调用

4、函数声明与函数表达式有区别:函数声明是单独写在一个结构中, 不存在任何语句, 逻辑判断等结构中。(在我看来还有一点就是没有等号)

 

5、作用域:域表示的就是 范围, 即 作用范围. 就是一个名字在什么地方可以被使用, 什么时候不能使 用

6、在js中采用词法作用域:词法( 代码 )作用域, 就是代码在编写过程中体现出来的作用范围. 代码一旦写好, 不用执行,作用范围就已经确定好了. 这个就是所谓词法作用域.在 js 中词法作用域规则:1. 函数允许访问函数外的数据.2. 整个代码结构中只有函数可以限定作用域.3. 作用规则首先使用提升规则分析4. 如果当前作用规则中有名字了, 就不考虑外面的名字

7作用域链: 函数内指向函数外的链式结构.(画图:成员声明)

8、闭包:有一个具有封闭的对外不公开的, 包裹结构, 或空间。js 中函数可以构成闭包。允许函数访问外部的数据, 外部无法访问函数内部的数据。闭包是为了实现 具有私有访问空间的 函数的

1. 写一个函数, 函数内定义一个新函数, 返回新函数, 用新函数获得函数内的数据

2. 写一个函数, 函数内定义一个对象, 对象中绑定多个函数( 方法 ), 返回对象, 利用对象的方法访问函数内的数据

3如何完成读取一个数据和修改这个数据:get_num:  set_num :function(value){}

9闭包的性能问题:函数执行需要内存, 那么函数中定义的变量, 会在函数执行结束后自动回收. 凡是因为闭包结构, 被引出的数据. 如果还有变量引用这些数据的话, 那么这些数据就不会被回收.因此在使用闭包的时候如果不使用某些数据了, 一定要赋值一个 null

面向对象中一丢丢小知识点

标签:

原文地址:http://www.cnblogs.com/wuhui070470/p/5763136.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!