JS深刻理解补充
来源:互联网 发布:数据透视表又叫做什么 编辑:程序博客网 时间:2024/05/01 16:18
对于函数的理解,首先看一个函数定义:
function functionDefined(){}
显而易见,functionDefined 为函数名字,在js中为指向这个函数体的指针,代表这个函数的指针的变量,并且和原始数据类型一样存储在栈中。而functionDefined函数体则存储在堆中。每当new出一个函数的实例,就会利用构造函数new出实例,并且存储在堆中。也就是对functionDefined函数体的拷贝并且进行存储。
知道了这个,我们再来看对象冒充:
function functionDefined(color){}
function createObject(){
this.functionDefinedCopy=functionDefined;
this.functionDefinedCopy('color');
delet this.functionDefinedCopy;
}
在此函数中将functionDefined的值传给了functionDefinedCopy,使得functionDefinedCopy指向了函数体。并以此来冒充functionDefined。执行其中的方法。
0 0
- JS深刻理解补充
- 深刻理解 js对象间的赋值
- JS闭包之深刻理解
- js之 prototype 理解补充
- 深刻理解js执行原理和闭包
- 句柄的深刻理解
- 深刻理解javascript
- 深刻理解指针类型
- java 深刻理解 不断更新
- 深刻理解指针类型
- 深刻理解hasLayout属性
- TCP/IP 深刻理解
- 堆排序 深刻理解
- 深刻理解闭包
- 深刻理解servlet
- AOP深刻理解
- 深刻理解TNotifyEvent
- android:layout_weight 深刻理解
- poj3264 balanced
- [综艺][香港亿万大富翁激凸版5部合集 1997][RMVB/1.30GB][国粤双语无字幕]
- C++单例模式4种实现详解
- ubuntu 14.04安装xen
- 移动互联网大讨论(一):开篇
- JS深刻理解补充
- linux select函数详解
- 移动互联网大讨论(二):电话号码:移动互联网最后一个ID
- 鼠标不动了怎么办
- 支付宝实现异地异行免费汇款
- 电脑黑屏的处理技巧
- 20分钟让你阅读速度提高3倍
- 【Metal API 教程:第二讲】编写Metal Shader并渲染3D模型(上)
- 查看LINUX进程内存占用情况