追求卓越一诺千金

蓝蓝设计,2011年成立,主创清华团队,专注软件和互联网ui设计开发。擅长企业信息化管理、监控、大数据软件UIUE咨询和设计开发服务。立足UI,好好学习,天天进步!


JS基础知识整理06-函数

2019-9-30 释然 前端及开发文章及欣赏


使用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界面设计  包装设计  图标定制  用户体验 、交互设计、 网站建设 平面设计服务
标签: JS基础知识整理06-函数 « jQuery与Ajax:“特别的”load()方法(筛选文档、传递方法、回调函数) | Hibernate--使用离线查询DetachedCriteria完成对列表的筛选»


订阅Rss