1、Function 构造函数(即上次总结继续哦)
不管是通过函数定义语句还是函数直接量表达式,函数的定义都要使用function关键字。但函数还可以通过Function()构造函数来定义Function()构造函数可以传入任意数量的字符串实参
var f = function(x,y){ return x*y };
可调用的对象是一个对象,可以在函数调用表达式中调用这个对象。所有的函数都是可调用的,但并非所有的可调用对象都是函数。
function isFunction(x){
return Object.prototype.toString.call(x) === "[object Function]";
}
使用函数处理数组,就是说在JS中应用函数式编程技术
var data = [1,1,3,5,5];
var total = 0;
for(var i=0;i<data.length;i++) total +=data[i];
var mean = total/data.length;
辣么这道题的结果为15。
高阶函数就是是指把另一个函数作为参数或返回值的函数。
一次完整的函数调用拆成多次函数调用,每次传入的实参都是完整实参的一部分,每个拆分开的函数叫做不完全函数,每次调用都称为不完全调用,他每次调用都会返回一个函数,直到的到最后结果。
function mapper(f){
return function(a){a.forEach(f)}
}
var x=function(x){console.log(x)}
var y=mapper(x);
给y传一些参数
y([1,2,3]) 然后输出的结果为: 1 2 3
记忆函数是什么呢?记忆函数就是把上次的结果缓存起来。
构造函数:使用关键字new来调用构造函数会自动创建一个新对象,构造函数的prototype属性被用做新对象的原型。
原型对象是类的唯一标识:当且仅当两个对象继承自同一个原型对象时,它们才是属于同一个类的实例。
每个函数都自动拥有一个prototype属性
function Cat(name,color){
this.name = name;
this.color = color;
}
Cat.prototype.type = "猫科动物";
var cat1 = new Cat("大毛","黄色");
var cat2 = new Cat("二毛","黑色");
console.log(cat1.type);
打印结果为:猫科动物。
这个属性的值是一个对象,这个对象包含唯一一个不可枚举属性constructor。constructor属性的值是一个函数对象
function Cat(name,color){
this.name=name;
this.color=color;
}var cat1 = new Cat("大毛","黄色");
var cat2 = new Cat("二毛","黑色");
console.log(cat1.name);
console.log(cat1.color);
console.log(cat1.constructor == Cat);//ture
JS中的类牵扯三种不同的对象,构造函数对象,原型对象,实例对象。第一步,先定义一个构造函数,并设置初始化新对象的实例属性,然后给构造函数的prototype对象定义实例的方法,给构造函数定义类字段和类属性。
本文深入探讨了JavaScript中函数的多种定义方式,包括Function构造函数的使用,以及如何利用构造函数创建对象实例。此外还介绍了高阶函数的概念及其应用场景。

被折叠的 条评论
为什么被折叠?



