版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、JavaScript的语法基础,6-2,2020年10月12日星期一,回顾,JavaScript是可以由浏览器解释执行一种脚本语言。 JavaScript常应用在客户端的程序开发中,是一种具有良好的跨平台的语言。 使用 可将 JavaScript代码书写在HTML文档中的任何位置上。 可以将JavaScript语句单独写在一个以“.js”的文件中,在HTML中使用来调用外部JS文件。 JavaScript语句使用分号结束,程序中使用“/”添加单行注释,使用“/*/”来添加多行注释。 JavaScript程序语句中可以使用空格、制表符等来使代码对齐,以提高代码的可读性。,回顾,LiveScrip
2、t,language,客户,服务器,/,目标,JavaScript的变量,JavaScipt的运算符,JavaScript的数据类型,JavaScript的变量,变量的命名规则,变量的定义,变量的赋值与变量的类型,变量的作用域,原始值与引用值,常量,特殊字符,变量的定义,变量是一种引用内存位置的容器,用于保存在执行脚本时可以更改的值,1变量的定义 JavaScript定义变量只有一个关键字“var”,在JavaScript中定义一个用户名变量的语法为:“var strUserName;”还可以用一个var语句定义两个或多个变量是: var test=“hi”, age=25;,变量是用关键字v
3、ar声明的,但可以不声明就用,养成声明变量的习惯是非常好的。 变量是第一次使用时,开始存在的,变量的命名规则,2变量命名规则 (1)变量命名必须以一个英文字母、$或是下划线为开头,也就是变量名第一个字符必须是A到Z或是a到z之间的字母或是下划线“_”或$符号。 (2)变量名长度在0255字符之间。 (3)只能包含字母、数字、下画线或者美元符号,不能包含其他特殊字符,如“myn*m”就不合法。 (4)不可以使用运算符号,例如,等。 (5)不可以使用保留字,例如sqrt(开方),parseInt(转换成整型)等。 (6)变量名大小写是有区别的,例如变量s12和S12是不同的两个变量。,变量的命名规
4、则,2变量命名规则 为了使程序易于阅读和维护,应尽量使用描述性的单词为变量命名,同时应避免使用单词的缩写,这样既可以提高代码的可读性,也可以减少命名冲突的发生。例如一个用来表示用户名的变量可命名为:user_name或userName,而最好不要设置为类似un或usrnm的名称。这里推荐使用骆驼型命名法,即第一个单词的首字母小写,以后的每个单词紧跟前一个单词并大写首字母,这也是JavaScript语言许多内置方法的命名规范。 在给不同类型的变量命名时可以采用不同的策略,从而使程序逻辑更加清楚。例如给类命名时,将骆驼型命名的第一个单词也大写,如:ClassName;字符串类型的数据使用str的前
5、缀,如:strUserName;对象类型使用obj的前缀,例如objBook。当然,变量的命名可以根据个人习惯而定,但要注意应使程序易于阅读和维护。,变量的赋值与变量的类型,3变量的赋值 变量的赋值是使用 = 。 声明变量时给出初值,如var name=张三; 普通赋值,如:name=李四;,4变量的类型 变量类型是指变量值所属的数据类型,可以是数值型、字符串型、布尔型和空值型。 JavaScript变量的类型是动态的。例如: var x=1; /变量x为数值型 x=“今天天气真好”; /变量x为字符串型 x=true; /变量x为布尔型,例6-10:展示变量的基本用法和用途,变量的作用域,5
6、变量的作用域:变量的的作用域是指变量起作用的范围,在该范围内可引用该变量。,有全局变量和局部变量。全局变量是定义在所有函数体之外,其作用范围是整个脚本,局部变量是定义在函数体之内,只对该函数是可见的,而对其他函数则是不可见的。,例6-11,原始值和引用值,变量可存放两种类型的值,即原始值和引用值。 原始值(primitive value)是存储在栈(stack)中的简单数据段,也就是说,它们的值直接存储在变量访问的位置。 原始值在内存中具有固定的大小。 引用值(reference value)是存储在堆(heap)中的对象,也就是说,存储在变量处的值是一个指针(point),指向存储对象的内存
7、处。,例6-12、6-12-1 6-12-2,6-12-3,原始类型有:Undefined,Null,Boolean,Number,String共5种。由于这些原始类型占据的空间是固定的,所以它们存储在较小的内存区域栈中。这样存储便于迅速查寻变量的值。 对象和作为特殊对象类型的数组及函数都是引用类型的.,原始值和引用值,由于字符串是不可变的,所以,没有办法辨别字符串是使用值进行传的,还是使用引用进行传递的。事实上,尽管JavaScript为提高效率,在复制和传递字符串时使用的是引用,但在对字符串进行比较时使用的却是值。,例6-12-4,常量,整型常量:可以使用十六进制、八进制(以0开始)和十进
8、制(以0 x开始)表示其值。 实型常量(浮点型):由整数部分加小数部分表示,也可以使用科学或标准方法表示。 布尔值:true或false 字符型常量:使用单引号()或双引号(“ ”)括起来的一个或几个字符。 特殊字符:JavaScript中同样有些以反斜杠“”开头的不可显示的特殊字符。 空值:null,表示什么也没有,如试图引用没有定义的变量,则返回一个null值。 未定义型:未定义值就是undefined,表示变量还没有赋值。,特殊字符,a或a:警报符,用于发出警报声 b或b:退格符,光标回退一个字符位置。 f 或f:换纸符,在打印机中换下页纸。 r或r:回车符,光标移到同一行开头。 n或n
9、:换行符,光标另起一行。 t或t:水平制表符,光标移到下一个制表位置。 或 :单引号。 “或:双引号。 或:反斜杠符。,JavaScript的数据类型,typeof运算符,JavaScript的数据类型,数值型数据类型,字符串型数据类型,特殊数据类型,数据类型的强制转换,数据类型的转换函数,JavaScript的数据类型,在JavaScript中有五种基本的数据类型 基本类型属于弱类型,另外有特殊字符数据类型和对象数据(object)类型。,注:由于JavaScript区分大小写,所以null不同于Null或NULL。,typeof运算符,Typeof运算有一个参数,即要检查的变量或值,如:
10、var sTemp=“test string”; alert(typeof sTemp); alert(typeof 95);,对变量或值用typeof运算符将返回下列值之一: “undefined”,如果变量是Undefined型的 “boolean”,如果变量是Boolean型的 “number”,如果变量是Number型的 “string”,如果变量是String型的 “object”,如果变量是一种引用类型或Null类型的,例6-5-11,数值型数据类型,十进制数,注:opera浏览器目前还不支持八进制数。,十六进制数:以数字0开始,后面紧跟字母x(不区分大小写),其后是十六进制数(其
11、中表示十进制数1015的字母af也是不区分大小写的),如0 x0,0XF8f00,0 x1a3C6e7,八进制数:以0开始,后面紧跟一个八进制数,特殊值Infinity:当一个数值或数值表达式的值超出了可表示的最大(小)值的范围,将被赋值为infinity(-infinity)(意为“无穷大”),所有的infinity(或-infinity)值都相等,与其他数值运算的结果仍为infinity.,特殊值NaN:含义为not a number,isNaN( )方法,例6-5(infinity),数值型数据类型,特殊值NaN:当一个undefined表达式结果为数值型数据时,该数值型数据就是NaN值
12、。当进行0/0运算或对Infinity求正弦时或对infinity与-infinity进行相加时,其结果都是NaN。使用isNaN( )方法或让某个值与其自身相比较,可以确定一个值是否是NaN。NaN是惟一一个不可以和自身进行比较的值。,例6-5-1、6-5-2,umber对象中的一些表示特殊值的属性。,注:正(负)数被0整除为infinity(-infinity),0/0结果为NaN。,字符串型数据类型,字符串是一组被引号(单引号或双引号)括起来的文本. 当字符串中出现引号时必须进行转义,但若单引号内出现双引号或双引号内出现单引号时则无需转义.,例6-5-3,特殊数据类型,无定义数据类型(u
13、ndefined):表示不存在的值或尚未赋值的变量。对一个变量只声明而不赋值或者赋予不存在的属性值,都会使该变量的值为undefined。,例6-5-4,空值(null):表示空值,是一个表示“什么都没有”的占位符。null与undefined的区别是,undefined表示一个变量尚未赋值,null则表示该变量被赋予一个空值, undefined只出现在NetScape6+和IE5.5+浏览器中,可以与null进行比较。,数据类型的强制转换,比较运算符的自动转换: 在比较过程中,“!=”和“=”会进行自动类型转换,而“!=”和“=”则不会转换。 数据类型的强制转换方式:数字和字符串相加:数字
14、会强制转换成字符串布尔值与字符相加:布尔值会强制转换成字符串布尔值和数字相加:布尔值会强制转换成数字,例6-6-1,数据类型的强制转换,在JavaScript中可以合并两个不同类型的变量 例如A=“JavaScript”+5,但不能将字符串值转换为数字值,如var A=“12”+7.5结果为“127.5”。事实上,数字类型和字符串类型进行加“+”操作时,是将数字类型转换为字符串类型然后进行字符串的连接。 JavaScript中toString( )方法有两种模式,即默认模式和基模式。 采用Number类型的toString()方法的基模式,可以用不同的基输出数字。基只是要转换成数的另一种叫法而
15、已,它是toString( )方法的参数,对数字调用toString(10)与调用toString()相同,返回的都是该数字的十进制形式。,例6-6-2,数据类型的转换函数,JavaScript中有两个函数parseInt()和parseFloat(),可将字符串转换成整数或是浮点数 parseFloat()遇到了符号(或)、数字(09)、小数点或指数之外的字符,它将忽略该字符及该字符之后的所有其他字符,如果第一个字符不能转换,函数返回NaN(不是数字) Eval( )方法将表达式的字符串参数当作表达式,函数返回表达式的计算结果。,例6-6,数据类型的转换函数,有三种强制类型转换 Boolea
16、n(value)把给定的值转换成Boolean型 Number(value)把给定的值转换成数字(可以是整数或浮点数 String(value)把给定的值转换成字符串,例6-6-3,当要转换的值至少有一个字符的字符串、非0数字或对象时,Boolean()函数将返回true。如果该值是空字符串、数字0、undefined或null,它将返回false。 强制转换成字符函数String和调用toString()方法的唯一不同之处在,对null或undefined值强制类型转换可以生成字符串而不引发错误。,JavaScript的运算符,算术运算符,比较运算符,逻辑运算符,位操作运算符,求值运算符,赋
17、值运算符,其它运算符,运算符的优先级,JavaScript的表达式,JavaScript的运算符,运算符是指定计算操作的一系列符号,也称为操作符。 运算符用于将一个或几个值进行计算而生成一个新值,对其进行运算的值称为算子或操作数。 包括8类运算符:算术运算符、逻辑运算符、比较运算符、字符串运算符、位操作运算符、赋值运算符、条件运算符和其他运算符。 除了条件运算符是三目运算符以外,其他要么是双目运算符,要么是单目运算符。 运算符存在优先级:在运算时必须遵循运算的优先级进行运算。,算术运算符,例6-101、6-101-1、2,算术运算符,JavaScript中的算术运算符有单目运算符和双目运算符。
18、 双目运算符: +(加) 、-(减)、 *(乘)、 /(除)、 %(取模) 、|(按位或)、 y = green; z = x + y + white; 则z为yellowgreenwhite w = y + 9; 则w为green9,位操作运算符,例6-104,求值运算符,通常这些运算符包括: 条件运算符: (condition) ? trueVal : falseVal typeof 运算符 typeof 运算符返回字符串,该字符串代表操作数的类型,var x = 5; document.write(typeof(x); /输出为number,status = (age = 18) ? a
19、dult : minor,赋值运算符,其他运算符,通常这些运算符包括: . (,) delete new typeof void,void运算符:避免表达式返回值。void 运算符对表达式求值,并返回 undefined。在希望求表达式的值,但又不希望脚本的剩余部分看见这个结果时,该运算符最有用。,delete运算符:从对象中删除一个属性,或从数组中删除一个元素,如:delete expression, expression 参数是一个有效的 表达式,通常是一个属性名或数组元素。,6-105、6-105-1,逗号(,)用来将多个表达式连接为一个表达式,新表达式的值为最后一个表达式的值,如a=(
20、b=5,c=7,d=56),则a=56。,运算符的优先级,6-105-2,运算符的优先级示例,6-105-2,计算:3+(4*(5+3)%2&34,JavaScript的表达式,表达式是运算符和操作数组合而成的式子。如: 1+2。 表达式是任意一组有效的文字、变量和运算符,其计算结果为一个值。即表达式具有值,这个值是对操作数实施运算符所确定的运算后产生的结果。 表达式类型:表达式分为算术表达式、字符串表达式、赋值表达式以及逻辑表达式等。 算术:计算结果为一个数字 逻辑:计算结果为一个布尔值 字符串:计算结果为一个字符串 表达式通过运算符组合变量和文字 子表达式: 在表达式a=b+c*d中,c*d、b+c*d、a=b+c*d、以至于a、b、c、d都可以看作是一个表达式(即子表达式)。在计算了表达式a=b+c*d之后,作为子表达式的a、b+c*d和a=b+c*d的值相同。,表达式中的数据类型转换,在表达式求值时,通常要求操作数是属于某种特定的数据类型 。如果操作数的数据类型不是运算符所要求的类型,那么这种情况通常是由于编程人员的错误设计所引起的。 JavaScript允许运算符对不匹配的操作数进行计算。 JavaScript根据运算符和操作数类
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司股东退出机制
- 炎性肠病患者的肠道菌群调节
- 2026年医疗废物运输合同协议
- 提高膀胱癌患者生活质量护理措施
- 老年病人护理伦理与人文关怀
- 2026年小饭桌用人合同(1篇)
- 护理仪容仪表规范解读
- 泌尿系统患者的家庭护理
- 牙齿种植的进展
- 职场新人生存法则2026年第一份工作快速融入团队的社交技巧和职业习惯
- 国土空间规划许可审查要点指南
- (高清版)DZT 0064.2-2021 地下水质分析方法 第2部分:水样的采集和保存
- 职业技能标准&挖掘铲运和桩工机械司机
- 车辆防火和防化学伤害安全技术要求
- 《序数效用理论课程》课件
- 童年二声部合唱简谱说唱版-
- 害虫管理的策略及技术和方法
- 广东省普通高中学生档案
- 社工考试综合能力笔记(中级)
- GB/T 22892-2008足球
- 养老保险欠费补缴注销申报表
评论
0/150
提交评论