javascript_core_02之函数、作用域
1、函数:封装一项任务步骤清单的代码段;
①声明:function 函数名(参数列表){ 步骤清单代码;return 返回值;}
②返回值:使调用者获得函数执行结果,return只返回,不保存;
③存储:函数名作为普通变量,通过地址引用函数对象;
④调用:var 返回值=函数名(参数值列表);函数只有调用才会执行;
2、作用域:变量的可用范围——本质:内存中存储变量的对象;
①全局作用域:window保存所有全局变量和函数对象;
②全局变量:不属于任何函数,直接定义在全局的变量;
③函数作用域:保存函数中局部变量的对象;
④局部变量:函数内声明的变量;
⑤使用顺序:局部——》全局——》报错
3、声明提前:程序开始执行前,将var声明的变量和function声明的函数,提前集中到当前作用域顶部进行声明,赋值却留在原地;
4、按值传递:两变量间赋值,或将变量作为参数传入函数,只是将变量值赋值给对方,函数内修改新变量不改变原变量,该变量是引用类型对象;
5、编码解码:①将多字节编码为单字节:var code=encodeURI(str);
②将单字节编码解码为原文:var str=decodeURI(code);
③保留字符的编码:var code=encodeURIComponent(str);
④保留字符的解码:var str=decodeURIComponent(code);
6、API:
①eval(str):解析字符串格式的数据结构;
②isFinite(num):判断num是否在计算机可表示的有效范围内;
It's never too old to learn!