JavaScript概述 JavaScript是基于对象和事件驱动的脚本语言,主要应用在客户端。 特点: 1.交互性(它可以做的就是信息的动态交互) 2.安全性(不允许直接访问本地硬盘) 3.跨平台性(只要是可以解释Js的浏览器都可以执行,和平台无关) |
JavaScript与Java不同JScriptECMAScript 1.JS是Netscape公司的产品,前身是LiveScript;Java是Sun公司的产品,现在是Oracle公司的产品。 2.JS是基于对象,Java是面向对象。 3.JS只需解释就可以执行,Java需要先编译成字节码文件,再执行。 4.JS是弱类型,Java是强类型。 |
|
JavaScript语法 每一种语言都有自己的语法规则,JS语法与Java很像,所以学习起来比较容易。JS中也一样有变量,语句,函数,数组等常见语言组成元素。 1.变量 通过关键字var来定义,弱类型既是不用指定具体的数据类型。 例:varx=3;x=“hello”; 注:JS中特殊的常量值:undefined,当变量没有初始化就被使用,该变量的值就是undefined(未定义)。 注意:Javascript的语句在结尾处是可以不用分号结束的,非严谨语言的特点。 但为了符合编程规范,需要象java一样定义结束符。 而且有些情况是必须写分号的,如:varx=3;vary=5如果两条语句写在同一行,就需要分号隔开。 |
2.运算符 Javascript中的运算符和Java大致相同。 只是运算过程中需要注意几点: 1,varx=3120/1000*1000;x=3120;而不是3000。 2,varx=2.4+3.6;x=6;而不是6.0 3,varx=“12”+1;x=“121”;x=“12”–1;x=11; 加号对于字符串是连接符 4,&&||是逻辑运算符&|是位运算符。 5,也支持三元运算符?: 6,特殊运算符typeof:返回一个操作表达式的数据类型的字符串。 varx=3; vary=“123”; varz=false; typeof(x);//number typeof(y);//string typeof(z);//boolean |
3.语句(与Java语句格式相同) 1.判断结构(if语句) 注:varx=3; if(x==4)//可以进行比较运算。 if(x=4)//可以进行赋值运算,而且可以同样进行判断。不报错。 因为在Js中0或者null就是false, 非0或者非null就是true(通常用1表示)。 所以if(x=4)结果是true; 可以通过if(4==y)来解决该问题。因为4=y不会进行判断,而是会报错。 2.选择结构(switch语句) 与java不同的是:因为弱类型,也可以对字符串进行选择。 3.循环结构(while语句,do…while语句,for语句)。 注:不同的是,没有了具体数据类型的限制,使用时要注意。 |
4.函数%%%%% 1.一般函数 格式: function函数名(形式参数...) { 执行语句; return返回值; } 函数是多条执行语句的封装体,只有被调用才会被运行。 注意:调用有参数的函数,但没有给其传值,函数一样可以运行,或者调用没有参数的函数,给其传值,该函数也一样运行。 说的简单点:只要写了函数名后面跟了一对小括号,该函数就会运行。那么传递的参数呢? 其实,在函数中有一个参数数组对象(arguments),该对象将传递的参数都封装在一个数组中。 例: functiondemo()//定义函数。 { alert(arguments.length); } demo(“hello”,123,true);//调用函数。 那么弹出的对话框结果是3,如果想得到所有的参数值,可以通过for循环遍历该数组。 for(varx=0;x<arguments.length;x++) { alert(arguments[x]); } 为了增强阅读性,最好按照规范,按定义好的形式参数传递实际参数。 函数在调用时的其他写法: varshow=demo();//show变量接收demo函数的返回值。 varshow=demo;//这种写法是可以的,意为show和demo代表同一个函数。 //那么该函数也可以通过show()的方式运行。 —动态函数 通过Js的内置对象Function实现。 例:vardemo=newFunction(“x,y”;”alert(x+y);”); demo(4,6); 如同: functiondemo(x,y) { alert(x+y); } demo(4,6); 不同的是,动态函数,参数以及函数体都可以通过参数进行传递,可以动态指定。 —匿名函数 格式:function(){...} 例:vardemo=function(){...} demo(); 通常在定义事件属性的行为时较为常用。 例: functiontest() { alert(“loadok”); } window.onload=test; 可以写成匿名函数的形式: window.onload=function() { alert(“loadok”); } 匿名函数就是一种简写格式。 |
5.数组 方便操作多元素的容器,可以对其中的元素进行编号。 特点:可以存任意元素,长度是可变的。 格式: vararr=newArray(); arr[0]=“hello”; arr[1]=123; vararr=[‘hello’,123,true,”abc”]; 通过遍历即可对数组进行基本操作。 for(varx=0;x<arr.length;x++) { alert(arr[x]); } |
6.对象 Js除了已经提供的内置对象外,也可以自定义对象。 例: functionPerson()//很象java中的构造函数。P不一定要大写。 { } varp=newPerson(); p.name=“zhangsan”;//定义成员变量。 p.age=20; //定义成员函数。 p.run=function() { alert(“run”); } p.run(); 或: functionPerson(name,age) { this.name=name; this.age=age; } varp=newPerson(“zhangsan”,20); Js用于操作对象的语句 —with语句。 格式: with(对象) { } 应用:当调用一个对象中多个成员时,为了简化调用,避免”对象.”这种格式的重复书写。 varp=newPerson(“zhangsan”,20); alert(p.name+”,”+p.age); 可以写成: varp=newPerson(“zhangsan”,20); with(p) { alert(name+”,”+age); } with语句定义了某个对象的作用域,在该域中可以直接调用该对象的成员。 —for...in语句 用于遍历对象属性。 例: varp=newPerson(“zhangsan”,20); for(xinp) { alert(x);//结果是两个对话框,一个是name,一个是age。 alert(x+”:”+p[x]);//可以得到属性与属性的值。p[x]:p对象就是个数组,要通 过指定的元素名获取元素的值。 } |