2019-9-30 seo达人
使用function关键字定义函数
函数声明会被提升(Hoisting),将声明移动到当前作用域顶端的默认行为。
参数:
如果函数调用的参数太多(超过声明),则可以使用函数的内置对象arguments
arguments.length 会返回函数被调用时收到的参数数目
arguments[index]可以得到相应的参数
传递对象的时候是使用引用来传递的,如果函数修改了对象属性,则原始对象也改变了。
调用:
以函数形式调用函数:(这种方式调用默认的是全局对象调用)
function myFunction(a, b) {
return a * b;
}
myFunction(10, 2);
作为方法来调用函数:(这种方式调用属于函数的拥有者myObject)
var myObject = {
firstName:"Bill",
lastName: "Gates",
fullName: function () {
return this.firstName + " " + this.lastName;
}
}
myObject.fullName();
通过函数构造器来调用函数:(如果函数调用的前面是 new 关键字,那么这是一个构造函数调用)
function myFunction(arg1, arg2) {
this.firstName = arg1;
this.lastName = arg2;
}
var x = new myFunction("Bill", "Gates");
x.firstName;
call()和apply()方法:
var person = {
fullName: function() {
return this.firstName + " " + this.lastName;
}
}
var person1 = {
firstName:"Bill",
lastName: "Gates",
}
var person2 = {
fullName: function(city, country) {
return this.firstName + " " + this.lastName + "," + city + "," + country;
}
}
call() 方法是预定义的 JavaScript 方法。
它可以用来调用所有者对象作为参数的方法。
通过 call(),您能够使用属于另一个对象的方法。
如:
person.fullName.call(person1)// person1来调用person的fullName方法
call()可以带参数,参数对应按顺序的传给方法
person2.fullName.call(person1,"Seattle", "USA")
apply()方法和call()方法类似
区别在于接收参数的方式不一样。
call(obj,"x","y") 方法分别接受参数
apply(obj,["x","y"]) 方法接收数组形式的参数
箭头函数:(ES6)
箭头函数不需要function关键字、return关键字和大括号
var x = function(x, y) {
return x y;
}
var x = (x, y) => x y;
两个的作用相同。
箭头函数没有自己的this、如果函数是单个语句,则只能省略 return 关键字和大括号
蓝蓝设计( www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 、平面设计服务。