第三章基本概念
2017-02-17 16:21:14 0 举报
AI智能生成
登录查看完整内容
第三章主要介绍了一些基本概念,为后续章节的深入理解和学习打下坚实的基础。这些概念包括了数据类型、变量、运算符、控制结构、函数等,它们是编程的基础元素,构成了程序的基本框架。通过理解和掌握这些概念,我们可以更好地理解和编写程序,解决实际问题。同时,本章也通过实例和练习,帮助我们更好地理解和应用这些概念,提高我们的编程能力和技巧。总的来说,第三章为我们提供了一个全面而深入的理论基础,使我们能够更好地进行后续的学习和实践。
作者其他创作
大纲/内容
3.6语句
3.7函数
聊天
popularity
动态
temporary
基本概念
3.1语法
1.区分大小写
2.标识符
指变量、函数、属性的名字,或者函数的参数
最佳实践,驼峰大小写格式,例如:myCar,firstSecond
3.严格模式
严格模式是为javascript定义了一种不同的解析与执行模型
\"use strict\";//将这句话放在外部js文件顶部,或者要严格模式下的函数
浏览器:IE10+,火狐4+,safari5.1+,chrome
3.2关键字和保留字
3.3变量
1、仅仅是一个用来保存值得占位符而已,可以是任何值
2、var message;定义了一个名为message的变量,该变量可以用来保存任何值,此时保存着一个undefined,var message = \"hello\";//此时保存了hello
3、用var操作符定义的变量将成为定义该变量的作用域中的局部变量,即如果在函数中使用var定义一个变量,那么这个变量在函数退出后就会被销毁
4、如果省略掉var,就会成为全局变量
5、严格模式下,给没有var的变量赋值会抛出异常
3.4数据类型
1.ECMAScript有5种简单数据类型,也称为基本数据类型
Undefined
对一个值typeof返回undefined---->这个值未定义
Null
Boolean
boolean--->这个值是布尔值
Number
number--->这个值是数值
String
string--->这个值是字符串
1种复杂数据类型
Object
null--->这个值是对象或null
从技术角度讲,函数在ECMAScript中是对象,不是一种数据类型。但是函数的特殊性,因此typeof 一个函数会得到function
3.4.2 Undefined类型
只有一个值:undefined
var声明一个基础数据类型变量但未对其初始化(赋值)时,这个变量就是undefined
var message;alert(typeof message);alert(typeof age);
未初始化和未声明的变量typeof之后都是undefined,建议编程时,一定要定义完变量马上赋值,才可以自信地说这个变量未被定义(声明)。
3.4.3 Null类型
只有一个值:null
复杂数据类型变量但未对其初始化(赋值)时,这个变量就是null
null表示一个空指针对象,因为对null typeof之后,返回object,说明null本身就是个对象,只是空的
null与undefined的关系
1、undefined是派生自null的,因此ECMA-262这个组织规定它们的相等性测试要返回true,null==undefined为true;2、但是它们的用途却完全不一样,所以===时为false;没必要把一个基本数据类型的变量显式设置为undefined,但只要已在保存对象的变量还没有真正保存对象,就应让变量保存null值,这样做不仅可以体现null作为空对象指针的惯例,也可以区分undefined和null
3.4.4 Boolean 类型
只有两个值:true和false
ECMAScript所有类型的值都有与这两个Boolean值等价的值,可用Boolean(变量)这个函数将变量转为true或false
String:任何非空字符串-->true \"\"--->falseNumber:任何非零数字值(包括无穷大)--->true 0和NaNObject:任何对象--->true null--->falseUndefined:undefined--->false
3.4.5 Number类型
1、浮点数值
该数值中必须包含一个小数点,并且小数点后面必须至少有一位数字,小数点前面可以没有数字,但不推荐
var a = 1.1;var a = 0.1;var a = .1;//有效 ,但不推荐
为什么ECMAScript喜欢将浮点数不失时机转为整数?一旦小数点后面没有大于0的数字(10.0),就会被转为整数
保存浮点数需要的空间是保存整数值的两倍
计算瑕疵
0.1+0.2不等于0.3,而是等于0.300000000000000004;即无法测试特定的浮点数值但是0.15+0.15是等于0.3的
2、数值范围
why
内存是有限的,ECMAScript不可能保存世界上所有数值
范围
Number.MIN_VALUE(最小值)
Number.MAX_VALUE(最大值)
一旦小于最小值,则会转为-Infinity
一旦大于最大值,则会转为Infinity
是否在范围内:isFinite()函数
3、NaN
非数值是一个特殊的数值,这个数值用于表示一个本来要返回数值的操作数未返回数值的情况,这样就不会抛出错误了,在其他语言中,就会出错,被除数不能是非数字
isNaN()
1、任何涉及NaN的操作都会返回NaN2、NaN与任何值都不相等,包括自己
isNaN(NaN);//trueisNaN(\"10\
同样适用于Object对象
3.5操作符
coupon
tag
0 条评论
回复 删除
下一页