【读书】《高程3》CH3--基本概念

JavaScript语法、操作符、数据类型、内置功能等。这本书写的早主要按照ES3的定义,并对ES5给出说明。

语法

区分大小写

  ECMAScript中的一切(变量、函数名、操作符)都区分大小写。

标识符

  指变量、函数、属性的名字,或者函数的参数。规则如下:

  • 第一个字符必须是一个字母、下划线(_)或一个美元符号($);。。。jQuery--$,Underscore--_
  • 其他字符可以是字母、下划线、美元符号或字符
  • 按照惯例,采用驼峰大小写格式

严格模式

  如果要在整个脚本中启用严格模式,可以在顶部添加“use strict”;在函数顶部使用“use strict”,可以指定这个函数在严格模式下执行。

语句

  主要建议不要省略“;”。

关键字和保留字

  好多已经在ES6中用了。

变量

  定义变量时要使用var操作符,如果在函数中定义变量而没有使用var,这个变量会变成全局变量,在严格模式下回抛出ReferenceError错误,所以一定要记得写var。

可以使用一条语句定义多个变量,如下:

var name = "Su",
    age = 1,
    married = false;

数据类型

  5种简单(基础)数据类型:Undefined、null、Boolean、Number和String。

  1种复杂数据类型:Object。

typeof操作符

   ECMAScript是松散类型,tyoeof用于检测给定变量的数据类型,很重要。

 typeof操作符可能返回下列某个字符串:

  • “undefined”——如果这个值未定义(声明一个变量但是没有初始化);
  • “boolean”——如果这个值是布尔值;
  • “string”——如果这个值是字符串;
  • “number”——如果这个值是数值;
  • “object”——如果这个值是对象或者null;
  • “function”——如果这个值是函数。

注意:typeof是操作符,不是函数。

  从技术角度讲,函数在ECMAScript中是对象,不是一种数据类型。然而,函数也确实有一些特殊属性,因此通过typeof操作符来区分函数和其他对象是有必要的。

Undefined类型

  Undefined类型只有一个值,即undefined。在使用var声明变量但未对其加以初始化时,这个变量的值就是undefined。

  • 没有必要声明值为undefined的变量。
  • 对未初始化(也就是没出现过)的变量使用typeof操作符同样也会返回undefined,但是函数参数使用这样的值会出错。
  • 如果能做到显示初始化变量,那么当typeof操作符返回“undefined”时,我们就知道被检测的变量还没有声明。

Null类型

   Null类型是第二个只有一个值得类型,这个特殊的值是null。从逻辑上看,null值表示一个空对象指针,所以typeof(null) == "object".

如果定义的变量准备将来用于保存对象,那么最好将该变量初始化未null而不是其他值。

实际上undefined派生自null值,alert(nul == undefined)  //true

alert(undefined === null)   //false

Boolean类型

Boolean只有两个值true和false,区分大小写,没有True和False。调用Boolean函数返回值如下:

数据类型   转换为true的值 转换为false的值
Boolean true false
String 任何非空字符串 ""(空字符串)
Number 任何非零数字值(包括无穷大) 0和NaN
Object 任何对象 null
Underfined 不适用   undefined

这些转换规则对流控制语句(如if语句)自动执行相应的Boolean转换非常重要。

posted @ 2017-11-19 21:12  Suuuu  阅读(211)  评论(0编辑  收藏  举报