第三章 基本概念 上(语法、关键/保留字、变量)

  ·   JS高设(第三版)   ·   JavaScript     浏览量:

本章内容太长,一分为三(本来一分为二,觉得不吉利,分成了三)本文包括语法、关键字保留字、变量

3.1语法:

ECMAScript大量借鉴C和类C(Java,perl)语言的语法。

  • 区分大小写:so,test和Test是两个变量。

  • 标识符:也就是变量,函数名以及他的参数,对象属性等命名规则如下

    • 第一个字符为字母,下划线(_),或美元符号($, ¥是人民币),将输入法切换为英语就对了
    • 其他字符可以为字母、下划线、美元或数字
    • 采用驼峰大小写格式
    • 标识符中字母还可以是ASCⅡ、Unicode字符,不做介绍,直接用英语即可
      例子:
    body;      //字母开头
    $body;     //$开头
    _body;     //下划线开头
    firstName; //驼峰
    
  • 注释:分为单行和多行

    //这是一个单行注释
    
    /*
    楼上是单身狗
    我们人多
    */
    
    /*
    * 我同意楼上的看法
    * 但我比二楼好看,因为我前面有花(*)
    */
    
  • 严格模式

    • ECMAScript5中提出的概念,相当于一国两制吧
    • 用了这个玩意儿可能会报错,因为他的解析和执行模型和常人不太一样(我也搞不懂)
    • 它可以在整个文件也可以在函数内部使用
      例子:
    "use strict";//我在整个文件最上面,我是皇帝,天下都是我的,都给我跪下
    
    function(){
      "use strict";//我在中间,我是个小诸侯,但我也有自己的地盘
    }
    
  • 语句

    • 语句就是一句话讲完了,就和汉语”。“一样滴
    • 你可以不写(不写不是程序员),但是浏览器不喜欢你这么做,因为你加他会自己给你加,而且压缩代码还可能会出错
    var sum = a + b   //不推荐
    var diff = a - b; //优秀!
    
    • 代码块:就是他{}
      例子:
    if (test) 
      alert("这是一个警告框");   //有效但是容易出错,不要这要搞
    
    if(test){
      alert("这也是一个警告框"); //good
    }
    

3.2保留字和关键字

  • 关键字
    就是已经被用来做一些特别用处的单词,以下为所有关键字(截止ES5)
    这都是我一把屎一把尿从书上抄下来的,这个顺序简直是乱排的吧
一个 表格
break do instanceof typeof
case else new var
catch finally return void
continue for switch while
debugger function this width
default if throw delete
in try
  • 保留字
    就是关键字预备人员,以下为书上所写(ECMA-262第三版)保留字,可能现在有所改动,
    抄完一遍觉得这就是借鉴其他语言,没用完剩下的关键字
也是 一个 表格
abstract enum int short
boolean export interface static
byte extends long super
char final native synchronized
class float package throws
const goto private transient
debugger implements protected volatile
double import public

第五版非严格模式夏运行时的保留字缩减为

还是 一个 表格
class enum extends super
const export import

严格模式下,第五版还对以下保留字做了限制

没错 又是我 一个 表格
implements package public interface
private static let protected
yeld

太乱了,反正别用以上这些东西定义变量,函数名字,对象名字就ok了

3.3变量(请自动避开所有关键、保留字,会报错,很可怕的)

  • ES的变量是松散类型的,路人甲:”是玩意儿松散,说人话!“

  • 就是什么都能存,只需要一个关键字var,这是个大紫金葫芦,既能装天,又能装人

  • 变量定义格式如下

var daZiJinHuLu; //这是一个大紫金葫芦,他出生时没有装过东西,所以他保存了一个默认值,undefined(翻译为:未定义,以后数据类型中介绍),可以装任何东西

var daZiJinHuLu = "我是一个字符串"; //像这样装的就是字符串了
daZiJinHuLu = 666; //现在葫芦里变成了数字 666 可以但不推荐这样做,俗话说 忠臣不事二主,好女不侍二夫
  • 注意变量的作用域
function test(){//此处定义了一个函数
  var xiaoZiJinHuLu = "我是小紫金葫芦,你是能在test里面用我"
}
test();//此处调用函数
alert(xiaoZiJinHuLu);//此处理应弹出一个警告框,内容为小紫金葫芦所装东西,但是得不到小紫金葫芦,所以报错,如下图

timjie-tu-20180816162225

  • 如果你将以上代码稍作修改,小葫芦变大葫芦,但不推荐这么做,维护难
function test(){//此处定义了一个函数
  daZiJinHuLu = "前面没有var,我就是全局大紫金葫芦"
}
test();//此处调用函数
alert(daZiJinHuLu);//此处弹出一个警告框

timjie-tu-20180816162131

  • 终极大招,同时定义多个变量
 var ziJinHuLU     = "紫金葫芦",   //逗号
     baJiaoShan    = "芭蕉扇",     //逗号
     ruYiJinGuBang = "如意金箍棒"; //分号结尾
//你问我不缩进可不可以,可以啊,我就觉得这样好看点


收起 >>
第三章 基本概念 上(语法、关键/保留字、变量)