资源预览内容
第1页 / 共71页
第2页 / 共71页
第3页 / 共71页
第4页 / 共71页
第5页 / 共71页
第6页 / 共71页
第7页 / 共71页
第8页 / 共71页
第9页 / 共71页
第10页 / 共71页
亲,该文档总共71页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
JavaScript简介l javaScript和Java没关系l ECMAscript 官方叫法l 语法和Java比较像l 不简单,语法更灵活l Java在JVM中运行,JS运行于浏览器(浏览器差异)l HTML JS(JQuery)静态网页技术一、 JS基本语法l 全面支持unicode编码(Java也是)Java中String name;String 姓名; /汉字或其他文字都可以表示,这就是全面支持unicode编码l 弱数据类型相对比于Java 强数据类型的编程语言String nameint agedouble salaryJS中:定义变量时不用指定变量数据类型(变量不用指定,数据本身是有类型的)var name = tarena;var age = 10;var salary = 10.0;第一个JS程序同CSS相似alert(hello JS);/alert输出document.write(页面);/写到页面的方法语法1. 变量l Java中:String s = hello;变量类型 变量名 = 数据;l JS中:var name = hello;1) 基本数据类型l 数字类型JS中没有整数和浮点数类型之分,统一叫numberl 字符串类型和效果相同,都是字符串l 布尔类型第一种:truefalse第二种:非00第三种:非nullnull(容易混淆)容易混淆的一个例子:if(object)表示如果有对象为真,无对象为假l 特殊类型 undefined定义一个变量如果没有赋值,变量为undefined没有定义变量时直接使用,变量也为undefined null注意点:var name = null;/null表示赋值为null,null也是一个值,不同于undefined注意点:javaScript函数没有提供返回值,函数的返回值为null NaN not a number假如在运算式中用字符串和数字运算,则显示为NaN注意:JS的灵活l 允许定义多个同名变量var name = hello;var name=kitty;alert(name); /会输出kittyl 定义同名变量,会输出赋值的var name = hello;var name;alert(name); /会输出hellol JS默认一行为1条语句(不写分号也可以)var name = helloalert(name); /会输出hellol 允许不使用关键字var (全局变量)name=hello; /全局变量alert(name);function f()var a=1001; /局部变量:用var修饰的id=123; /全局变量 没有用var修饰的2) 对象数据类型 *function函数相当于Java中的methodJava中定义方法:修饰符 返回值类型 方法名(参数表)异常表public int add(int a , int b) throws Excpetion return i+ j ;第一种定义方法function add(a , b) return i + j ;没返回值类型,没参数类型提示:学没学好JS,关键对方法体会够不够深刻函数使用方式:function add(i , j)return i + j;alert(add(1,2);第二种定义方法var fun = new Function(i , j , return i+j);alert(fun(3,2);实际编码过程中不会有人用,帮助理解:函数也是可以存到一个变量中的辨析:function add(i , j)return i + j;var fun1 = add(1,2); /把调用函数的结果传给一个变量var fun2=add; /把函数本身赋给一个变量alert(fun2 + fun2(1,2); 匿名函数 *var fun = function(i , j) return i+j ;alert(fun(1,2);注意:function add(i , j) return i+j;alert(add(1,2,3); /输出3 多加的参数不会管alert(add(1); /输出NaN (1 + undefined 结果为NaN)注意:JS中没有重载函数参数可为另一函数 *function f1()alert(test);function f2(f) f(); f2(f1);function add(i,j)return i+j;function test(i,j,f)return f(i,j);内置对象函数内部有一个隐含对象argument:用户在调用函数时所传入的参数argument0:第1个参数argument1:第1个参数function f(i , j)alert(arguments0);alert(arguments1);f(1,2); /输出的是两个参数的值应用:对函数参数的保护措施function add(i , j)if(arguments.length != 2)alert(error);return;if( (typeof i != number) | (typeof j != number)alert(number error);return;/add(1,23,232);add(a , b);创建对象的方式Object对象创建student对象?通过构造函数创建对象var stu = new Object();stu.name = suns;stu.age = 30;alert(stu.name+ + stu.age);注意:本质上JS对象没有方法,只有属性但是:可以模拟的为对象增加方法,比如Document.write();function showMethod()alert(show student);var stu = new Object();stu.name = suns;stu.age = 30;stu.show = showMethod;stu.show();更常用的方式匿名函数的使用var stu = new Object();stu.name = suns;stu.age = 30;stu.show = function()alert(show student); ;stu.show();在JS中写get()方法var stu = new Object();stu.name = suns;stu.age = 30;tu.getName = function()return this.name;alert(stu.getName();JSON对象 *JSON对象:目前在JS中常用的创建对象的方式var student = name:xxx,age:30,getName:function() return this.name; alert(studentage); /输出对象属性的方法student.name;student.age;student.getName();好处:体现了属性和方法的结构和封装的概念HTML对象 *每一个Html标签被JS认为是一个对象var ipu ipu.type=text; ipu.name=name; ipu.value=1234;Array对象1. 通过构造方法创建var arr = new Array();arr0 = 1;arr1 = 2;辨析:l Java中数组的特点1. 长度不可变2. 连续内存空间3. 一种类型的数组只能存储特定类型的数据l JS中的数组特点1. JS中数组长度可变2. 不赋值的元素也会留空间,为undefined3. 可存任意数据var arr = new Array();arr0 = 1;arr1 = 2;arr3 = 3;arr4 = hello;for(var i=0;iarr.length;i+)alert(arri);像Java中的ArrayList2. JSON方式 *var arr = 1,2,3,4,5,;alert(arr.length); /IE数组长度为6,Fir
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号