JS基础知识整理06-函数

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界面设计  包装设计  图标定制  用户体验 、交互设计、 网站建设 平面设计服务

分享本文至:

日历

链接

个人资料

蓝蓝设计的小编 http://www.lanlanwork.com

存档