<script>
'use strict'
function abs(x){
// arguments 代表:传递进函数的所有参数是一个数值
console.log("x=>"+x);
for(let i = 0;i < arguments.length;i++){
console.log(arguments[i])
}
// 手动抛出异常
// if (typeof x !== 'null') {
// throw 'Not a Number';
// }
// ①绝对值函数
if(x >= 0){
return x;
}else{
return -x;
}
// 如果没有执行return,函数执行完也会返回结果,结果就是undefined
}
// ② 这是一个命名函数
// var abs = function(x){
// if(x >= 0){
// return x;
// }else{
// return -x;
// }
// }
// ③调用函数
// abs(10)
// abs(-10)
// ④ rest:获取除了已经定义的参数之外的所有参数,只能写在最后面,用 ... 标识
function aaa(a,b,...rest){
console.log("a=>" + a);
console.log("b=>" + b);
console.log(rest);
// a=>123
// b=>1233
// (2) [42314, 132314]
}
// ⑤变量的作用域
// 把自己的代码全部放入自己定义的唯一空间名字中,减少全局命名冲突
var SXG = {};
SXG.name = 'shi';
SXG.add = function(a,b){
return a + b;
}
// ⑤局部作用域 let 解决局部作用域冲突问题
// ⑥常量 const 类似于C里的define
//⑦方法
// 对象.属性
// 对象.方法() 一定要带括号
var KS = {
name:'shi',
birth:2002,
age :function(){
var now = new Date().getFullYear();
return now - this.birth;
} //KS.age()
}
</script>