Javascript权威指南(函数)
2021-01-18 20:21
标签:形式 实参 call new 它的 形参 匿名函数 def 一个 任何函数只要作为方法调用实际上都会传入一个隐式的实参,这个实参是一个对象,方法调用的母体就是这个对象。 函数的参数(实参和形参) 1、可选参数 当调用函数的时候传入的实参比函数声明时指定的形参个数要少,剩下的形参都将设置为undefined 2、可变长的实参列表:实参对象(不定实参函数) 在函数体内,标识符arguments是指向实参对象的引用,实参对象是一个类数组对象,这样可以通过数字下标就能访问传入函数的实参值,而不是非要通过名字来得到实参,arguments有个length属性 实参对象的个数获取 3、callee和caller属性 callee属性在某些时候会非常有用,比如在匿名函数中通过callee来递归地调用自身 4、闭包 关于闭包的理解 5、函数属性、方法和构造函数 1、length属性 2、prototype属性 3、call()方法和apply()方法 apply()方法和call()类似,但是传入实参的形式和call()有所不同,它的实参都放入一个数组中 4、bind()方法 5、toString()方法 6、可调用的对象 6、函数式编程 可以使用方法map()和reduce()来实现数组的计算 7、高阶函数 所谓高阶函数,就是操作函数的函数,它接收一个或多个函数作为参数,并返回一个新函数 Javascript权威指南(函数) 标签:形式 实参 call new 它的 形参 匿名函数 def 一个 原文地址:https://www.cnblogs.com/jun-web/p/function.htmlfunction getPropertyName(o, /*optional*/a) {
if(!a) a = [] // 相当于a = a || []
for(var property in o)
a.push(property)
return a
}
var a = getPropertyName(o) //将o的属性存储到一个新数组中
get PropertyNames(p, a) //将p的属性追加至数组a中
function f(x, y, z) {
if(arguments.lenght != 3) {
//抛出异常,并做异常的处理
}
//再执行函数的其他逻辑
}
var factoral = function(x) {
if(x return 1
return x * arguments.callee(--x)
}
function counter() {
var n = 0
return {
count: function() {return n++}
reset: function() {n = 0}
}
}
//以下c和d是不会互相影响的
var c = counter(), d = counter()
c.count() // =>0
d.count() // => 0
c.reset() // reset()和count()共享状态
c.count() // =>0 因为c被重置了
d.count() // =>1 d没有被重置,所以d的count结果还是1
function trace(o, m) {
var original = o[m]
o[m] = function() {
console.log(new Date() , "Entering", m)
var result = original.apply(this, arguments)
console.log(new Date(), "Exiting", m)
return result
}
}
var sum = function(x, y) {return x + y}
var square = function(x){return x * x}
var data = [1,1,3,5,5]
var mean = data.reduce(sum)/data.length
var deviations = data.map(function(x) {return x - mean})
var stddev = Math.sqrt(deviations.map(square).reduce(sum)/(data.length - 1))
function not (f) {
return function() {
var result = f.apply(this,arguments)
return !result
}
}
var even = function(x) {
return x % 2 === 0
}
var odd = not(even)
[1,1,3,5,5].every(odd) ; //true , 每个元素都是奇数
文章标题:Javascript权威指南(函数)
文章链接:http://soscw.com/index.php/essay/43810.html