引用js代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 <html > <body > <script > document .write("hello world" ); </script > </body > <html > <html > <body > <script src ="1.js" > </script > </body > <html > <html > <body > <input type ="text" οnclick ="javascript:alert('hello')" > </body > <html > <html > <body > <script > function mess () { alert("hello" ); } </script > <input type ="button" οnclick ="mess()" > </body > </html >
不支持JS脚本的情况 1 2 3 4 5 6 7 8 9 <html > <body > <script > <!-- alert(/xss/ ); --> </script > </body > </html >
数据类型
Number 型:整数型和浮点型
String 型:字符型
Boolean 型:布尔型(true和false)
Undefined 型:未定义类型,用于不存在或没有被赋初始值的变量或对象的属性
Null 型:表示空值
Function 型:表示函数
Array 型:数组型
Object 型:对象型
运算符
赋值运算符 : =、+=、-=、*=、/=、%=、&=、^=
数学运算符 : +、-、*、/、%、++、–
位运算符 : &、|、^、~,先将操作数转换为二进制进行运算,操作完将返回值转换成十进制
位操作符 : >>、<<、>>>
比较运算符 : ==、!=、>、<、<=、>=
逻辑运算符 : &&、||、!
逗号运算符 : 可使用逗号将多个语句连在一起,浏览器载入该代码时,将其作为一个完整的语句来调用,但语句的返回值是最右边的语句。
空运算符 : 空运算符对应关键字“void”,其作用是定义一个表达式,但该表达式并不返回任何值。
三元运算符 : 表达式?语句A:语句B
1 2 3 var a = 10 ;var b = 5 ;a>b?alert(a):alert(b);
对象运算符 : 主要支持四种对象运算符,包括点号运算符(用来访问对象的属性和方法)、new运算符(创建新对象)、delete运算符(删除数组特定元素、删除对象属性和方法)以及()运算符(用来调用对象的方法)
typeof运算符 : 用于表明操作数的数据类型,返回数值永远是一个字符串。
1 2 var a = 10 ;alert(typeof (a))
数组 一组同种或不同类的数据的集合,称为数组。
1 2 3 4 5 6 7 8 9 10 11 12 13 #定义数组 var arr = [1 ,2 ,3 ,4 ];var arr1 = ['hello' ,123 ,True];var arr2 = new Array ('eee' ,123 ); #数组元素的访问 var a = arr[0 ]; #修改数组元素 arr[0 ] = 11 ; #获取数组长度 arr.length
逻辑处理
1 2 3 4 5 6 7 8 9 var a = 10 ;var b = 5 ;if (a>b){ alert(a); } else { alert(b); }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 var year = 4 ;var army;switch (year){ case 0 : army="平民" ; break ; case 1 : army="列兵" ; break ; case 2 : army="上等兵" ; break ; case 3 : army="一级士官" ; break ; case 4 : army="二级士官" ; break ; default : army="中高级士官" ; break ; } document .write("你的军衔是" +army);
1 2 3 4 for (var i=0 ;i<10 ;i++){ document .write(i+"<br />" ); }
1 2 3 4 5 6 7 8 9 10 11 12 13 var i = 1 ;while (i<10 ){ document .write(i+"<br />" ); i++; } var i = 1 ;do { document .write(i); i++; }while (i<10 );
1 2 3 4 5 6 7 8 9 10 for (var i=0 ;i<10 ;i++){ if (i%2 ==0 ) { continue ; } else { document .write(i+"<br />" ); } }
1 2 3 4 5 6 7 8 9 10 document .write("aaa<br />" );document .write("bbb<br />" );document .write("ccc<br />" ); with (document ) { write("eee<br />" ); write("fff<br />" ); write("ggg<br />" ); }
1 2 3 4 5 6 7 8 9 for (变量名 in 对象名){ 语句 } for (num in window ){ document .write(i); }
函数
1 2 3 4 5 6 7 8 9 10 11 12 13 函数的定义: function 函数名([参数] ) { 语句 [return 表达式;] } function add (int1,int2 ) { return int1+int2; } document .write(add(2 ,4 ));
JavaScript中所有的数据类型、数组等均可作为对象,函数也是。可使用new操作符和function对象的构造函数来生成指定规则的函数。
1 var fun1 = new Function (int1,int2);
1 2 3 4 5 6 7 8 9 function fun1 (int1 ) { if (int1==1 ) { return 1 ; } return int1 * fun1(int1-1 ); } document .write(fun1(3 ));
JavaScript事件
HTML文档将元素的常用事件(onclick、onmouseover等)当作属性捆绑在HTML元素上,当元素的特定事件发生时,对应的特定事件的时间处理器就被执行,并将结果返回给浏览器。
1 2 3 4 5 6 7 8 9 10 11 12 <html> <body> <script> function fun1 ( ) { alert('wolrd' ); } </script> <a href="http:/ /www.baidu.com" οnclick="javascript:alert('hello')">打开百度</ a> <a href="http://www.sina.com" οnclick="fun1()" >打开新浪</a> </ body></html>
浏览器事件指载入文档直到关闭期间的浏览器事件,如浏览器载入文档事件onload、关闭该文档事件onunload、浏览器失去焦点事件onblur、活得焦点事件onfocus等。
1 2 3 4 5 6 7 8 9 10 <html> <body> <script> window .onblur = function ( ) { alert('浏览器失去了焦点' ); } </script> </ body></html>
HTML元素事件
onclick
鼠标单击链接
ondbclick
鼠标双击链接
onmouseDown
鼠标在链接的位置下
onmMouseOut
鼠标移出链接所在位置
onmouseOver
鼠标经过链接所在位置
onmouseUP
鼠标在链接的位置放开
onKeyDown
键被按下
onkeyPress
按下并放开该键
onKeyUp
键被松开
onerror
加载图片出现错误时触发
onload
图片加载时触发
onblur
文档失去焦点
onclick
在文档中单击鼠标
ondbClick
在文档中双击鼠标
onsubmit
提交窗体里的表单
onreset
窗体复位
onblur
组件失去焦点
onclick
单击组件
onfocus
事件在对象获得焦点时
onchange
事件会在域的内容改变时发生
onblur
文本区失去焦点
onchange
文本区内容发生改变且失去焦点
onfocus
获得焦点
JavaScript对象分类
自定义对象的两种方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #使用new关键字定义对象 var info = new Object(); #使用new关键字结合Object来创建一个空的对象 info.nme = "张三"; #增加属性 info.age = 20 ; info.show = function ( ) #增加方法 { document .write("自定义对象方法" ); } infi.show(); #调用对象的方法 #使用大括号来定义对象 var info = { name : "张三" , age : 20 , show:function ( ) { document .write("自定义对象方法" ); } } infi.show(); #调用对象的方法
JS内置对象
js内置对象包括字符串对象、数组对象、日期时间对象、布尔对象、数字对象、数学对象
1 2 3 4 5 6 7 8 9 10 11 12 13 #字符串String对象的属性和方法 var str1 = "hello world" ;var a = str1.length; #获取字符串长度 str1.toUpperCase(); #到大写 str1.indexOf('e') #查找字符串 #数组对象的属性和方法 var arr = [1 ,2 ,3 ,4 ];arr.reverse(); #反转数组 #日期时间对象 var today = new Date ();today.getDay(); #取星期数
DOM框架 DOM(文档结构模型),文档中各个元素在HTML元素层次结构中都被表级为关系成员,并可通过这种关系来访问指定的成员。
Window对象 :表示与当前浏览器窗口相关的顶级对象,包含当前窗口的最大化、最小化、尺寸大小等。
Frames对象 :表示文档页面中的框架数组对象,每个框架都包含一个Window对象。
Location对象 :以URL的形式载入当前窗口,并保存正在浏览的文档位置及构成:协议、主机名、端口、下、路径等。
Document对象 :包含HTML文档中的HTML标记和构成文档内容的文本对象。
History对象 :包含当前窗口的历史列表对象。
Navigator对象 :包含当前浏览器的相关信息对象。
Screen对象 :包含当前浏览器运行的物理环境信息的对象。