函数的概念及特点
**函数:**具有特定功能的代码块
函数的特点:
1.把代码封装起来,方便以后用.
2.函数定义时,函数的代码块不会执行,只有调用该函数时,函数内的代码才会执行。
3.使用函数封装起来的代码具有复用性.
根据有无参数和有无返回值可以将函数分为4大类:
1.无参数无返回值
2.无参数有返回值
3.有参数无返回值
4.有参数有返回值
形参:形式参数,在函数定义时的参数,没有确定的值
实参:实际参数,函数调用时的参数,有确定的值;在函数调用时,实参的值会传给形参
有无参数,取决于调用该函数时,是否需要从外界提供数值来保证函数内代码块的执行.
有没有返回值取决于是否需要在外部使用函数内计算的结果.
如果在函数调用时,少写某些参数,参数值为undefined,如果多写,多余的会被系统忽略.
自定义函数
函数包含两部分:
1.函数的定义(函数的声明);
2.函数的调用
函数的语法:
function 函数名(参数1,参数2,参数3....){
语句
return 返回值;
}
函数.name 会返回函数名对应的字符串
函数.length 返回对应函数的形参个数.
// 匿名函数: 没有产生变量
(function (name){
console.log("这是一个匿名函数"+"+"+name);
})("假某某");
// 函数表达式: 产生一个名为jia的变量
var jia = function (name){
console.log("这是一个匿名函数"+"+"+name);
};
jia("假某某");
// 声明了一个叫做t的变量,并且变量的内容是 function t(){return 5;}
function t(){
return 5;
}
alert(t);
arguments,函数调用时,传入的所有实参,会被存放在arguments数组里,
当我们不确定函数的参数应该有几个时,可以通过arguments数组获取所有的参数.
arguments.length 返回对应函数的实参个数.
函数内return的作用:
1.将函数的计算结果返回给外界.
2.return后面的语句不会被执行.
系统函数
js内置的系统已经写好的函数,可以直接使用。
escape() 转成计算机通用的unicode码
unescape() 解码
isFinite() 判断一个数字是否为有限的
isNaN() 判断一个变量是否为 “非数字”
parseInt() 把字符串前缀的数字转整型
parseFloat() 把字符串前缀的数字转成浮点型
eval() 执行一段JS代码
字符集的概念:
字符集就是编码-->字符的映射例:
65--->A,91--->a, 01000001-->65
Ascii字符集
[00000000]--------[11111111] ->0- 255,-128-127
西欧字符集
128-255也利用起来,表示字符如β 日,
来到中国
[00000000]汉字,最多也不过256个....常用汉字3000多全部3w+
[00000000] [00000000] -------[11111111][11111111]
0---->65535之间,
用2个字节表示一个汉字: gb2312.[只存了7000左右汉字少]-->GBK[汉字+日文+棒文]
32456 --- GBK ---> 国
32456 --JIS ---> ほ
由于编码的不通用性,由此引出Unicode编码集
Unicode编码集
Unicode规定:"国”在Unicode有一个独特的号,假设是29876,Unicode编码集给世界上大部分的语言每个字符都分配了一个号码.
国[gbk] ---->unicode[29876] -->日本-->从unicode 得到"国"字
把字符转化成unicode对应的编码,以适应不同的计算机平台之间传输.