《JavaScript面向对象编程》笔记1(函数)

1、参数

调用函数时:
- 未传递参数,js 自动将其设定为 undefined
- 传递过多的参数,js 会将多余的参数忽略

每个函数内部都有一个内建的 arguments 数组(实际上并不是数组,而是一个类似数组的对象),它能返回函数所接收的所有参数。

2、预定义函数

  • parseInt() 将任何输入值转换为整数类型输出,转换失败返回NaN。第二个参数可设置进制,不指定第二参数默认为十进制(例外:1、参数以0x开头默认为十六进制。2、参数以0开头,默认为八进制。)
parseInt('abc123') // NaN
parseInt('123abc') // 123
  • isFinite() 用来检查输入是否是一个既非 infinity 也非 NaN 的数字。
isFinite(Infinity) // false
isFinite(12) // true
  • eval() 将其输入字符串当做JavaScript代码执行(尽量避免使用该函数)

3、变量的作用域

  • 声明一个变量时没有使用var 语句,该变量就会被默认为全局变量。
  • 本地和全局作用域问题:
var a = 123;
function f(){
    alert(a);
    var a = 1;
    alert(a);
}
f();

上面的代码中:

1、第一个alert() 实际上显示的是 undefined ,这是因为函数域始终优先于全局域,所以局部变量 a 会覆盖掉所有与它同名的全局变量,尽管在 alert() 第一次被调用时,a 还没有被正式定义,但该变量本身已经存在于本地空间了。
2、第二个 alert() 显示 1 。

4、函数也是数据

  • 自调函数
(
    function(){
        alert('boo')
    }
)()

上面代码中第二对括号起到的作用是“立即调用”,同时也是我们向匿名函数传递参数的地方。

原文地址:《JavaScript面向对象编程》笔记1(函数)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值