JS基础学习-函数
函数
定义:先定义再调用
注意
函数中的代码不会在定义时被执行,而是在调用时才会被执行
声明方式
语法结构
function 函数名() {
函数体(实际上就是语句块)
}
字面量方式
语法结构
var 函数名=function(){
函数体;
};
函数的调用
函数名();
函数参数
形参
定义函数使用的参数称为形参
可以定义多个,之间用逗号隔开
形参的个数多于实参的个数,多余的形参值为undefined
实参
调用函数时使用的参数称为实参
可以定义多个,之间用逗号隔开
实参的个数多于形参的个数多于的实参的值形参无法接收
function fn(a,b) {
console.log(a + b);
};
fn(10,20,30)
arguments
用于接收实际的实参内容(省略形参)
function fn() {
console.log(arguments);
};
fn();//{}
fn(1);//{ ‘0’: 1 }
fn(1,2);//{ ‘0’: 1, ‘1’: 2 }
fn(1,2,3);//{ ‘0’: 1, ‘1’: 2, ‘2’: 3 }
return语句
返回语句
var fn=function () {
var a=100;
console.log(‘xxx’);
return a;
};
尽量定义在函数体的最后面
eval语句
定义一个字符串类型的javascript代码将javascript代码当作普通文本输出
var str=’console.log(“this is text”)’;
console.log(str);
eval()函数
将一串字符类型的javascript代码运行
var str=’console.log(“this is text”)’;
eval(str);
好处-可以利用这种方式有效的保护核心代码(存储在服务器)
坏处-web安全性低(目前不推荐使用)
编码与解码
涉及到中文,有时不能正确显示或使用
对字符串进行编码
var encode=encodeURI(uri);
console.log(encode);
对字符串进行解码
var decode=decodeURI(uri);
console.log(decode);
注意
URI–统一资源标识符
URL–统一资源定位符