首页 > 代码库 > javascript高级编程3第三章:基本概念 本章内容 语法 数据类型 流控制语句 函数
javascript高级编程3第三章:基本概念 本章内容 语法 数据类型 流控制语句 函数
3.1 语法
ECMAScript的语法大量借鉴了C及其他类C语言的语法。
3.1.1 区分大小写
3.1.2 标识符
所谓标识符,就是值变量、函数、属性的名字,或者函数的参数。标识符可以是按照下列格式规则组合起来的一个或多个字符:
(1)、第一个字符必须是字母、下划线或者美元符号;
(2)、其他字符可以是字母、下划线、美元符号或数字;
PS:标识符的字母也可以包含扩展的ASCII或Unicode字母字符,但我们不推荐这样做;最好用驼峰命名法;不能把关键字、保留字、true、false和null用作标识符。
3.1.4 严格模式
"use strict";
严格模式下,javascript的执行结果会有很大不同。
3.3 变量
ECMAScript的变量是松散类型的,所谓松散类型就是可以用来保存任何类型的数据。换句话说,每个变量仅仅是一个用于保存值得占位符而已。定义变量时要使用var操作符(注意var是一个关键字),后跟变量名(即一个标识符)。(未经初始化的变量,会保存一个特殊的值undefinded);在函数里定义的变量,在函数推出后就会被销毁。(不用var 定义变量,会直接变成全家变量,不推荐使用,避免污染全局)
3.4 数据类型
5种基本类型(undefined,null,boolean,string,num),1种复杂数据类型(object);
object本质上是由一组无序的名值对组成的。
3.4.1 typeof操作符
对一个值使用typeof操作符可能返回下列字符串:
(1)"undefined"--如果这个值未定义;
(2)"boolean"--如果这个值是布尔值;
(3)"string"--如果这个值是字符串;
(4)"number"--如果这个值是数组;
(5)"function"--如果这个值是函数;
(6)"object"--如果这个值是对象或null(ps:typeof null会返回“object”,因为特殊值null被认为是一个空的对象的引用)
PS:alert未经声明的变量会报错,但是用typeof检测未经声明的变量时不会报错,只会报undefined)
PS:undefined值派生自null值,用==进行判断时2者相等
3.4.5 NAN
isNaN()如果里面是数字则为false;否则为true;(0除以0位NaN);
3.4.6 string类型
转义序列被作为一个字符进行解析;
字符串的特点:
(1)ECMAScript中的字符串是不可变的,也就是说,字符串一旦创建,他们的值就不能改变。要改变一个变量的保存的字符串,首先要销毁原来的字符串,然后再用另一个包含新值得字符串填充该变量,操作流程:1创建一个能够容纳总字符数量的新字符串;2填充要填充的字符;3销毁原来的字符。(该过程发生在后台)
转换为字符串:
1:toString()方法(除了null和undefined没有这个方法,其它的多有);
3.4.7 object类型
ECMAScipt中的对象其实就是一组数据和功能的集合。对象可以通过执行new操作符后跟要创建的对象类型的名称来创建。
Object的每个实例多具有下列属性和方法。
1:construct:保存着用于创建当前对象的函数。
2:hasOwnProperty(propertyName):用于检查给定的属性在当前对象实例中(而不是在实例的原型中)是否存在;
3:isPrototyoeOf(object):用于检查传入的对象是否是当前对象的原型
4:propertyIsEnumerable(propertyName):用于检查给定的属性是否能够使用for-in语句来枚举。与hasOwnProperty()方法一样,作为参数的属性名必须以字符串形式指定。
5:toLocaleString();返回对象的字符串表示,该字符串与执行环境的地区的地区对应
6:toString();返回对象的字符串表示
7:valueOf():返回对象的字符串、数值或布尔值表示。通常与toString()方法的返回值相同。
PS:ECMAScript中Object是所有对象的基础,因此所有对象多具有这些基本的属性和方法。
3.5.8 条件操作符(三元表达式也叫三目表达式)
javascript高级编程3第三章:基本概念 本章内容 语法 数据类型 流控制语句 函数