函数:程序中的函数是指一段封装的代码段,能够完成特定功能.

 

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来填充