函数:程序中的函数是指一段封装的代码段,能够完成特定功能.
function functionName(参数1,参数2.....参数N) {
return 值;
}
函数参数可以有几个? 可以是0个,到多个.
返回值: 只可能有1个, 或者 0个 (这是和数学函数不一样的地方)
函数的用法:
函数的用法分声明和调用.
被调用的函数必须在页面内有声明过程.
函数的声明语法:
function 函数名([arg1][,arg2][,arg3][..argN]) {
代码段运行;
[return 返回值]
}
注:可以有0->N个参数, 但只有一个返回值
函数的调用语法:
函数名([arg1][,arg2][,arg3][..argN]);
函数的返回值:
函数可以有0个或1个返回值,没有其他情况.
返回值给谁了?
谁调用就返回给谁
函数的执行权与执行权的交回
Js代码由js引擎来解释执行, 有几个js引擎同时工作呢?
答: 只有一个, 单线程运行
所以:指令只能一条一条来运行.
当函数被调用时, js解释引擎进入到函数内部去工作.
即执行权交给了函数.
函数在2种情况下交回执行权:
1: 碰到return; 执行权交回.
2: 如果没有return , 函数的语句运行完毕后,执行权交回.
一个函数可以有几个return单词?
答:0 到多个
这个函数的return 可以执行几次?
答: 但是只能执行 0次 或1次.
Js中函数的特殊性--和PHP比较
在PHP中, 函数就是语法上的结构体,不是一个变量,不能被赋值.
但是在js中, 函数也是一种变量.
变量名就是函数名
声明函数
Function 函数名 (参数) {
函数体
}
=====>
声明了一个叫做"函数名"的变量,
并且变量的内容是
" (参数) {
函数体
}"
010101 --- > a,b,c,12,
字符集的概念:
字符集,就是 编码--->字符的映射
例: 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有一个独特的号,假设是29876,
Unicode编码集给世界上大部分的语言每个字符都分配了一个号码.
国[gbk] ---->unicode[29876] ---> 日本-->从unicode得到"国"字
把字符转化成unicode对应的编码,以适应不同的计算机平台之间传输.
parseInt: 把字符串的__前缀____部分的数字分析成整型数字,
如果首字符不是数字,分析出"非数字"----NaN
parseInt,如果碰到前缀是有小数点的情况,直接舍弃小数点后面的部分并保留整数.
parseFloat: 把字符串的 前缀 部分的数字分析成浮点型
NaN ---->一个特殊变量,代表非数字.
isNaN() 用来判断某个变量为"非数字",NaN.专门用来判断 parseInt,parseFloat的返回值
isFinite-->判断一个数值是否有限.
对于 1/0,-1/0这样的结果[正负无穷大,非有限], 判断为false
提示:
在数学里 1/0 =====> 没有意义,或者"无穷大"
-1/0 ====> 负无穷大
Eval(): 执行一段js代码.
比如:两台计算机做通信, A ---> B 有可能发xml,json数据等等.
也有可能直接发送js代码.
Eval('alert("快点回话")')
数组:
数组: 就是一组变量
数组的创建:
Var arr = [];
Var arr = new Array();
Var arr = ['a','b','c','d'];
Var arr = new Array('a','b','c','d');
创建一定长度但无内容的数组
Var arr = new Array(10);
数组每个单元都有一个唯一的"下标/索引", 从0编号,编到length - 1;
数组单元值的读取,
可以凭数组的索引值来确定.
即 arr[index]这种形式来读取.
数组的遍历
for循环配合 数组长度 + 索引的知识
例
<script type="text/javascript"> // 要求 :把arr的每一个单元打印在页面上
var arr = ['a','b','c','d','e'];
for(var i = 0,len = arr.length; i < len; i++) {
document.write(arr[i] + "<br />");
}
</script>
数组length的属性的变化
设某数组length ==N,
如果修改length,且length < N, 则数组被截断,后面的丢失了.
如果length>N,则数组自动补到length个, 新加的单元以undefined来填充