1、JavaScript 学习笔记1第一章 JavaScript基础1. 如何实现 JavaScript.4(1) 如何把 JavaScript代码放到 HTML页面里 .4使用标签,直接在 HTML代码里加入 JavaScript代码 .4使用调用外部的 JavaScript(.js文件) .4如何与老浏览器打交道 .4(2) 把 JavaScript代码放到 HTML页面不同的位置 .4把 JavaScript代码放到 HTML部分 .4把 JavaScript代码放到 HTML部分 .4示例代码 .42. JavaScript语句与注释 .5(1) JavaScript语句结束符 .5(2)
2、 JavaScript代码块 .5(3) JavaScript注释 .5(4) JavaScript变量 .5变量命名规则 .5申明或创建变量 .5重新申明变量 .53. JavaScript运算符 .5(1) 基本运算符 .5(2) 位运算符(非运算)、 使用调用外部的 JavaScript(.js文件)JavaScript.html文件:JavaScript.js文件:document.write(“外部的JavaScript文件“);alert(“消息“); 如何与老浏览器打交道那些不支持 JavaScript 的浏览器会把脚本作为页面的内容来显示。为了防止这种情况发生,我们可以使用这样
3、的 HTML 注释标签:/JavaScript注释注释行末尾的两个正斜杠是 JavaScript 的注释符号,它会阻止 JavaScript 编译器对这一行的编译。(2)把 JavaScript代码放到 HTML页面不同的位置页面中的脚本会在页面载入浏览器后立即执行。我们并不总希望这样。有时,我们希望当页面载入时执行脚本,而另外的时候,我们则希望当用户触发事件时才执行脚本。 把 JavaScript代码放到 HTML部分把页面载入时就需要执行的 JavaScript代码放到标签之间。这是一种规范,建议这样做。 把 JavaScript代码放到 HTML部分把当脚本被调用时,或当事件被触发时才会
4、执行的 JavaScript代码放到标签之中,这样就可以确保在调用 JavaScript之前就载入了它。这是一种规范,建议这样做。 示例代码function message()document.write(“head之间的JavaScript!“);JavaScript 学习笔记5document.write(“body之间的JavaScript!“);head2.JavaScript语句与注释(1)JavaScript语句结束符通常要在每行语句结尾加上一个分号(;),但是根据 JavaScript标准语句结尾的分号是可选的,浏览器会把行末作为语句的结尾。document.write(“语句1
5、“)document.write(“语句2“)(2)JavaScript代码块JavaScript可以分批的组合起来,使用“” “”把多条语句括起来组成代码块。代码块的作用是一并的执行语句序列。document.write(“This is a header“);document.write(“This is a paragraph“);document.write(“This is another paragraph“);(3)JavaScript注释document.write(“JavaScript注释!“);/双斜杠表示行注释(第一种)/*第二种,块注释*/(4)JavaScript变
6、量 变量命名规则JavaScript变量对大小写敏感,变量必须是以字母或下划线开头 申明或创建变量var i=123;/使用var关键字申明变量var s=“李志伟“;temp=“直接赋值使用变量“;/如果您所赋值的变量还未进行过声明,该变量会自动声明。document.write(i+“ “+s+“ “+temp); 重新申明变量var i=123;/使用var关键字申明变量var i;/在重新声明该变量后,变量的值不会被重置或清除。document.write(“i的值是:“+i);/i的值还是1233.JavaScript运算符(1)基本运算符基本运算符有+、-、*、%、+、-、=、类似
7、+=的运算符,其使用方式与编程语言(Java、C、C#等)基本一样。下面主要演示+运算符。i=5+5;document.write(“i的值是:“+i+“);/10i=“5“+“5“;document.write(“i的值是:“+i+“);/55i=5+“5“;document.write(“i的值是:“+i+“);/55JavaScript 学习笔记6(2)位运算符(非运算)、 /25 等于 00000000000000000000000000011001var iNum2 = iNum1; / 转换为11111111111111111111111111100110document.writ
8、e(iNum2+“);/输出 “-26“var iResult = 25 /*25 = 0000 0000 0000 0000 0000 0000 0001 10013 = 0000 0000 0000 0000 0000 0000 0000 0011-AND = 0000 0000 0000 0000 0000 0000 0000 0001*/document.write(iResult+“);/输出 “1“var iResult = 25 | 3;/*25 = 0000 0000 0000 0000 0000 0000 0001 10013 = 0000 0000 0000 0000 00
9、00 0000 0000 0011-OR = 0000 0000 0000 0000 0000 0000 0001 1011*/document.write(iResult+“);/输出 “27“var iResult = 25 3;/*25 = 0000 0000 0000 0000 0000 0000 0001 10013 = 0000 0000 0000 0000 0000 0000 0000 0011-XOR = 0000 0000 0000 0000 0000 0000 0001 1010*/document.write(iResult+“);/输出 “26“(3)Boolean运算
10、(!(求反运算)、/输出falsevar bool = “a“);/输出turevar bool = “98“);/输出falsevar bool = “a“、=document.write(bool+“);/输出false(5)等性运算符(=、=、!=、!=)下表是一些特殊情况的值:表达式 值 表达式 值 表达式 值null=undefined true “NaN”=NaN false 5=NaN falseNaN=NaN false NaN!=NaN true false=0 truetrue=1 true true=2 false undefined=0 falsenull=0 fale
11、 “5”=5 true全等号由三个等号表示(=) ,只有在无需类型转换运算数就相等的情况下,才返回 true。var i = “66“;JavaScript 学习笔记7var j = 66;document.write(i = j)+“);/输出 “true“document.write(i = j)+“);/输出 “false“document.write(i != j)+“);/输出 “fale“document.write(i != j)+“);/输出 “true“(6)条件运算符variable = boolean_expression ? true_value : false_val
12、ue;条件运算符与编程语言的使用方式基本一致。var num1=25,num2=565;var max = (num1num2) ? num1 : num2;/取最大值document.write(max+“);/输出 “true“(7)其他运算符 赋值运算符每种主要的算术运算以及其他几个运算都有复合赋值运算符: 乘法/赋值(*=) 除法/赋值(/=) 取模/赋值(%=) 加法/赋值(+=) 减法/赋值(-=) 左移/赋值(=) 无符号右移/赋值(=) 逗号运算符用逗号运算符可以在一条语句中执行多个运算。例如:var iNum1 = 1, iNum = 2, iNum3 = 3; typeof
13、运算符typeof 运算符有一个参数,即要检查的变量或值,对变量或值调用 typeof 运算符将返回下列值之一:Undefined:如果变量是 Undefined 类型的;Boolean:如果变量是 Boolean 类型的;Number:如果变量是 Number 类型的;String :如果变量是 String 类型的; Object:如果变量是一种引用类型或 Null 类型的。var temp1=“李志伟“;var temp2;/Undefined类型只有一个值,即 undefined。当声明的变量未初始化时,该变量的默认值是 undefined。document.write(typeof
14、temp1)+“);/stringdocument.write(typeof temp2)+“);/undefineddocument.write(typeof 86)+“);/numberdocument.write(typeof null)+“);/objectUndefined:Undefined 类型只有一个值,即 undefined。当声明的变量未初始化时,该变量的默认值是 undefined。null:另一种只有一个值的类型是 Null,它只有一个专用值 null,即它的字面量。值 undefined 实际上是从值 null 派生来的,因此 ECMAScript 把它们定义为相等的
15、。alert(null = undefined); /输出 “true“。 delete运算符delete 运算符删除对以前定义的对象属性或方法的引用。例如:var o = new Object;o.name = “李志伟“;document.write(o.name+“); /输出 “David“delete o.name;document.write(o.name+“); /输出 “undefined“ instanceof运算符能用 instanceof 运算符检查给定变量指向的对象的类型。例如:JavaScript 学习笔记8function Car()/使用原型方式(或混合的构造函数
16、/原型方式)申明instanceof才有用var car=new Car();document.write(car instanceof Car)+“);/输出 true使用 instanceof 运算符会出现很多意想不到的结果,建议不用。使用原型方式(或混合的构造函数/原型方式)申明 instanceof才有用4.with语句(1)语法及作用作用:with 语句用于设置代码在特定对象中的作用域。语法:with (对象) 对象使用范围 (2)示例var s = “李志伟“;with(s)document.write(toString()+“); /输出 “李志伟“,等效于s.toString(
17、)提示:with 语句是运行缓慢的代码块,尤其是在已设置了属性值时。大多数情况下,如果可能,最好避免使用它。5.分支语句(1)if.else.语句var i=50;if(i=0)document.write(“i等于0“);elsedocument.write(“i不等于0“);(2)switch语句var i=2;switch(i)case 1:document.write(“i等于1“)breakcase 2:document.write(“i等于2“)breakcase 3:document.write(“i等于3“)breakdefault:document.write(“错误“)6.
18、消息框(1)警告框语法:alert(“文本”);alert(“我是警告框!“);JavaScript 学习笔记9(2)确认框语法:confirm(“文本”);var r=confirm(“点击确认!“);/确认对话框if (r=true)alert(“你点击了确认!“);elsealert(“你点击了取消!“);(3)提示框语法:prompt(“文本”,“默认值”);var name=prompt(“请输入您的名字“,“李志伟“);if (name!=null 7.函数(一般定义到标签之间)(1)定义函数function 函数名(var1,var2,.,varX)代码 (return)在函数内
19、申明的变量,只能在函数中访问(其生存期就在整个函数中)。在函数外申明的变量,在整个 HTML页面内都有效(生存期在整个 HTML页面)。(2)关于函数的 arguments对象 在函数代码中,使用特殊对象 arguments,开发者无需明确指出参数名,就能访问它们。例如,在函数 sayHi() 中,第一个参数是 message。用 arguments0 也可以访问这个值,即第一 个参数的值(第一个参数位于位置 0,第二个参数位于位置 1,依此类推) 。function sayHi(message)/注意直接写参数名,不要写var申明document.write(message+“);docum
20、ent.write(arguments0);/使用arguments对象获得参数sayHi(“李志伟“);/调用函数 使用 arguments.length检测参数个数function num()document.write(“参数个数“+arguments.length+“);/获取参数个数JavaScript 学习笔记10num();/调用函数num(1,2);num(1,2,3,5,“李志伟“); 模拟函数重载function num()var i=arguments.length;switch(i)case 1:document.write(“参数:“+arguments0+“);br
21、eak;case 2:document.write(“相加:“+(arguments0+arguments1)+“);break;default:document.write(“参数个数出错!“);break;num(“李志伟“);/调用函数num(55,2);num(1,2,3,5,“李志伟“);(3)Function对象(类) Function对象的使用函数实际上是功能完整的对象。Function 类可以表示开发者定义的任何函数。用 Function 类直接创建函数的语法如下:var function_name = new function(arg1, arg2, ., argN, function_body)。var sayHi = new Function(“name“,“document.write(name+“你好!“);“);sayHi(“李志伟“);/调用函数