前端路上的各种问题-javascript—6
来源:互联网 发布:php编辑器安卓 编辑:程序博客网 时间:2024/05/16 11:40
1.function语句,new Function()或者函数直接量的比较:
1)作用域方面,new Function具有全局作用域
2)解析效率方面,new Function每次都需要重新编译对象,而function语句会提前编译,不会重复编译。这是new Fucntion具有全局作用域根本原因
3)Function构造函数和函数直接量定义的函数不需要额外的变量,他们直接在表达式中参与运算,所以节省了资源,克服了function语句定义函数占用内存的弊端,这些函数运行 完成之后的内存就会被释放
2.arguments.length返回传入的参数的个数,arguments.callee.length返回形参的个数。
3.call和apply方法可以把一个函数转换为方法传递给某个对象,这种行为是临时的,函数最终并没有作为对象的方法而存在,当函数被调用的后,该对象的方法会自动被注销。如下面的例子:
function f()
{
alert("f invoked!");
}
f.call(Object);
//调用结束以后已经被注销,返回undefined!
alert(typeof Object.f);
下面一个call的例子:
function f()
{
alert(this.x);
}
function c()
{
alert(x);
}
f.call(c);//f函数中间的this指向c这个函数,但是这个函数本身没有x属性,所以弹出undefined,但是如果加上:c.x=12那么弹出12
4.当引用函数的时候,多个变量存储的是函数的相同入口指针,所以他们的值是相同的。相反,函数调用是执行该函数,并把返回的值传递给变量,所以基本类型的函数调用变量的值可能相同,但是引用类型的返回值是不同的!通过new实例化函数的结果也是引用类型的,所以也是不同的!
5.使用Function扩展类型
Function.prototype.method=function(name,func)
{
if(!this.prototype[name])
{
this.prototype[name]=func;
return this;
}
}
提取数字中间的整数部分:Number.method("integer",function(){return Math[this<0?'ceil':'floor'](this)});对于正数来说调用ceil方法,负数调用floor方法!
- 前端路上的各种问题-javascript—6
- 前端路上的各种问题-javascript-1
- 前端路上的各种问题-javascript-2
- 前端路上的各种问题-javascript-3
- 前端路上的各种问题-javascript—4
- 前端路上的各种问题-javascript—5
- 前端路上的各种问题-javascript—7
- 前端路上的各种问题-javascript—8
- 前端路上的旅行
- 前端路上的见闻:(一)
- 大前端路上的点点滴滴
- 在学习前端的路上
- 关于前端的各种height问题
- 前端路上
- 在前端的路上越走越远——我的前端路
- 前端的各种优化
- 前端路上遇到的坑—跨域获取json格式的数据
- 校招季--献给前端求职路上的你们(H5+C3)
- Android - Fragment+ViewPager结合使用
- 【HDU1150】【建模】【最小点覆盖】【二分匹配】
- 博客第一篇 哈哈
- 我的感想八
- C#中的结构体与类的区别 .
- 前端路上的各种问题-javascript—6
- 中文字符集编码Unicode ,gb2312 , cp936 ,GBK,GB18030
- JAVA中关于set()和get()方法的理解及使用
- OneAPM 技术公开课第二讲:开启性能为王的架构时代
- Objective-C中ORM的运用:实体对象和字典的相互自动转换
- Android Studio 开篇
- Python_基础01
- 【HDU1151】【二分匹配】【最小路径覆盖】【建模】
- Cocos2d-x Expression: child != nullptr