JavaScript--函数(普通函数 & 箭头函数 ) & 异常 & typeof关键字 & 方法
Posted Z && Y
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript--函数(普通函数 & 箭头函数 ) & 异常 & typeof关键字 & 方法相关的知识,希望对你有一定的参考价值。
1. 普通函数
1.1 函数的定义
- 定义在对象内: 被称为方法。
- 定义在对象外部:函数。
定义方式一
// 返回绝对值的函数
function abs(x) {
if (x >= 0) {
return x;
} else {
return -x;
}
}
定义方式二
let abs = function (x) {
if (x >= 0) {
return x;
} else {
return -x;
}
};
1.2 函数的调用
异常 & typeof关键字
function abs(x) {
// typeof 关键字用于判断变量的类型
if (typeof x !== 'number') {
// 手动抛出一个异常
throw 'Not a number';
}
if (x >= 0) {
return x;
} else {
return -x;
}
}
2. 箭头函数
ES6中新增的定义函数的方式。
() => {}
const fn = () => {}
2.1 箭头函数的特点
- 1.函数体中只有一句代码,且代码的执行结果就是返回值,可以省略大括号
var a=10;
const add = (num1, num2) => num1 + num2;
console.log(add(1, 2));// 3
- 2.如果形参只有一个,可以省略小括号
const returnA = a => {
alert(a);
};
returnA(10);// 弹窗 10
- 3.箭头函数不绑定this,箭头函数没有自己的this关键字如果在箭头函数中使用this,this关键字将指向箭头函数定义位置中的this
var obj = {name: "张三", age: "十八"};
function fn() {
//this关键字将指向箭头函数定义位置中的this
return () => {
console.log(this);
}
}
fn.call(obj);// call函数的第一个参数的意思是 将这个函数内部的this指向obj对象
var result01 = fn.call(obj);
result01();// obj
var result02 = fn();
result02();// window
2.2 箭头函数经典面试题
// 这个age是定义在全局作用域window对象下面的
var age = 100;
var obj = {
age: 10,
// 箭头函数的this指向定义区域的this,因为定义在obj对象里面,但是
// 对象不可以产生作用域,所以这里的this指向的是全局作用域下的age
sayAge: () => {
console.log(this.age);
},
};
obj.sayAge();//100
3. 方法
定义方法
以上是关于JavaScript--函数(普通函数 & 箭头函数 ) & 异常 & typeof关键字 & 方法的主要内容,如果未能解决你的问题,请参考以下文章
javaScript定义函数的三种方式&变量的作用域
将 jQuery 缓动 easeInExpo 函数重写为普通的 javascript 和 css