1、JavaScriptJavaScript本章任务本章任务javaScriptjavaScript简介简介javaScriptjavaScript特点特点javaScriptjavaScript语法语法javaScript简介简介JavaScriptJavaScript简介简介1)1)是一种弱数据类型的编程语言是一种弱数据类型的编程语言 。于。于javajava没有任何关系,没有任何关系,javaScriptjavaScript原名原名ECMAScriptECMAScript。2)2)运行环境:浏览器中。运行环境:浏览器中。javaScript特点特点JavaScript特点:特点:1)1)全面
2、支持全面支持unicodeunicode编码编码定义变量名或函数名可以使用中文,日文,韩文。定义变量名或函数名可以使用中文,日文,韩文。2)2)弱数据类型弱数据类型 在定义变量的时候不用指定变量的数据类型。在定义变量的时候不用指定变量的数据类型。注意注意:变量是没有数据类型,但数据本身是有类型的:变量是没有数据类型,但数据本身是有类型的3)Js3)Js代码的书写方式:书写在代码的书写方式:书写在htmlhtml中中引用方式:引用方式:早期:早期:现在:现在:JavaScript语法语法语法:语法:定义变量定义变量var name =“suns”;关键字关键字 变量名变量名 数据数据注意:变量没
3、有类型,数据有类型。JavascriptJavascript的数据类型的数据类型 1)基本类型 2)对象类型 1)1)基本类型基本类型 数字类型数字类型(Number)(Number)注意注意:js中没有整型,浮点型,双精度型 统称为数字类型.字符串类型字符串类型(String)(String)双引号,单引号都可以表示字符串。注意:js中无字符类型 JavaScript语法语法 布尔类型(Boolean)值值:true false 非0(代表真)0(代表假)非null(代表真)null(代表假)注意:Object值为null就为假 特殊类型的数据 undefined (1)定义变量如果没有为变
4、量赋值那么变量的值就是undefined.(2)如果没有定义变量,而是直接使用值也是undefined (3)JavaScript函数没有提供返回值,函数的返回值也是undefined null是一个数据值 (1)必须为一个变量赋值null,变量的值才是null.NaN(not a number)不是一个数字。例如:String/Number 输出结果为NaN JavaScript语法语法补充:补充:1)JavaScript 1)JavaScript允许定义多个重名的变量名允许定义多个重名的变量名 (1)(1)如果定义了多个同名的变量,而且都赋值了,那么就以最后一次定义如果定义了多个同名的变量
5、,而且都赋值了,那么就以最后一次定义的变量值为准。的变量值为准。var name=“andy”;var name=“andy”;var name=“alpha”;var name=“alpha”;输出结果为:输出结果为:alphaalpha (2)(2)如果定义了多个同名变量值为准。的变量,有变量没有赋值,那么久如果定义了多个同名变量值为准。的变量,有变量没有赋值,那么久以最后一个赋值的以最后一个赋值的 var name=“andy”;var name=“andy”;var name;var name;输出结果为:输出结果为:andyandy 2)JavaScript 2)JavaScript
6、允许在定义变量结束不加分号允许在定义变量结束不加分号(;)(;),javaScriptjavaScript自动会自动会为改行加上分号。为改行加上分号。例如:例如:var name=“andy”var name=“andy”注意注意:js js默认一行为一条语句,如果没有分号,默认一行为一条语句,如果没有分号,js js自动为该语句加上分号。自动为该语句加上分号。JavaScript语法语法 3)javaScript 3)javaScript允许定义变量时不是用关键字允许定义变量时不是用关键字varvar 这种变量定义不使用关键字定义的变量称为这种变量定义不使用关键字定义的变量称为全局变量。全局
7、变量。2.2.运算符:运算符:1)1)算术运算符算术运算符 +,-,+,-,*,/,+,+=,/,+,+=,*=,/=,/=补充:补充:例如:例如:var a=1;var a=1;var b=4;var b=4;var c=“3”;var c=“3”;b+c b+c 输出结果为:输出结果为:“4343”b-c b-c 输出结果为:输出结果为:1 1 注意:注意:数字和字符串进行加法运算,相当于字符串的链接数字和字符串进行加法运算,相当于字符串的链接 减法运算,相当于减法运算,相当于 数字和字符串相减。数字和字符串相减。如果数字和字符串相加,想输出数字和字符串求和的结果,那么怎么办了?使用par
8、seInt(字符串)parseFloat(字符串)JavaScript语法语法2)2)比较运算符比较运算符 ,=,=,=补充:补充:(1)(1)字符串与字符串的比较字符串与字符串的比较 var name1=“andy”;var name2=“andy”;字符串比较:name1=name2;(2)(2)字符串与数字的比较字符串与数字的比较 var s1=12;var s2=“12”字符串与数字比较 s1=s2 s1=s2 输出结果为输出结果为 true;true;s1=s2 s1=s2 输出结果为输出结果为false;false;注意注意:=对比数据的值对比数据的值 =对比对比数据的值数据的值的
9、同时,还比较数据的的同时,还比较数据的数据类型数据类型。JavaScript语法语法 3 3)逻辑运算符)逻辑运算符&,|,!4 4)赋值运算符)赋值运算符 =5 5)三目运算符)三目运算符 条件?值1:值2;3 3表达式表达式4 4流程控制流程控制 (1)条件流程控制 if()else if(),switch()case 值:xxx (2)循环流程控制 do.while(),while().,for(),foreach()JavaScript-语法语法-数据类型数据类型2)对象数据类型)对象数据类型 Function,Object,Array,String,Date,Math 函数函数(Fu
10、nction)语法:(1)function 函数名(参数列表)/方法体return 返回值;例如:function add(i,j)return i+j;(2)var 变量名=new Function(“参数1”,”参数2”,”方法体”);注意:此种创建对象的方式,不管多少个参数,最后一个是方法体。例如:var fun=new Function(“i”,“j”,“return i+j;”);调用函数:fun(1,2);function 函数名(参数列表)/方法体例如:function add(i,j)var m=i+jJavaScript-语法语法-数据类型数据类型 例如:综所述:var fu
11、n=add;把add函数赋值给fun.注意:var fun=add;变量中存放函数 var fun1=add(1,2)变量中存放函数返回的结果。(3)匿名函数 var 变量=function(参数列表)/函数体 return 返回值。匿名函数调用:变量名(参数列表值)函数定义:函数定义:function add(i,j)return i+j;函数调用:函数调用:add(1,2);函数定义:函数定义:var fun=new Function(“i”,“j”,“return i+j”);函数调用:函数调用:fun(1,2);补充:补充:例如:function add(i,j)return i+j;
12、调用:add(1,2);输出结果 3;add(1,2,3);输出结果3;add(1);输出结果NaN;补充:javascript 在创建函数时,内有有一个隐含对象 arguments。这个对象不需要用户手动创建。而是javascript自动创建。arguments:用户在调函数时,传入的参数。注意:javascript没有多态。(2)typeof运算符:判断变量的值的类型。例如:var name=“andy”;typeof namestring (3)函数的参数可以是另外一个函数 JavaScript-语法语法-数据类型数据类型 例如:function fun1()function fun(f
13、)document.write(1);f();调用:fun(fun1);输出结果为12.Object 创建对象语法:var 变量名=new Object();/通过构造函数创建对象 创建属性 对象名.属性名 例如:student.name 创建方法:对象名.属性名=函数名 注意:javaScript对象只有属性,没有方法。JavaScript-语法语法-数据类型数据类型例如:var student=new Object();student.name=“andy”;student.show=show;function show()alert(1);对象方法调用:student.show();JS
14、ON创建对象方式:例如:var student=name:“andy”,age:30,getName:function()return this.name;3.Array 数组特点:1)长度可变。2)可存储任意类型的数据。创建数组的方式:1)构造函数创建 var 数组名=new Array();JavaScript-语法语法-数据类型数据类型 2)JSON var 数组名=;例如:var arr=1,2,3,4,5;数组长度为 5;补充:var arr=1,2,3,4,5,;数组长度为5,后面忽略。var arr=1,2,3,4,5;数组长度为7。对象访问方式:student.name student.age student.getName();JavaScript-语法语法-数据类型数据类型补充:补充:foreachforeach循环循环 1)遍历数组语法:for(index in 数组名)数组名index /数组元素访问方式 2)遍历对象的属性for(index in 对象)访问属性:对象名属性名 或 对象名.属性名