《JavaScript高级程序设计 (第3版)》学习笔记2:chapter_3 - 1 basic_syntax

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>basic_syntax</title>
    <script>
    
    /*
    1, ECMAScript标识符:小驼峰命名法

    2, 严格模式:ECMAScript5引入严格模式,这是一种不同的解析和执行模型
    在严格模式下,ECMAScript3中的一些不确定的行为将得到处理,而对某些不安全的操作也会抛出错误
    启用严格模式:"use strict"(编译指示),告诉支持JavaScript引擎切换到严格模式,也是为了不破坏ECMAScript语法而特意选定的语法

    3,从字面含义上理解,保留字是语言中已经定义过的字,使用者不能再将这些字作为变量名或过程名使用。
                       关键字则指在语言中有特定含义,已经成为语法中一部分的那些字
    在一些语言中,一些保留字可能并没有应用于当前的语法中,这就成了保留字与关键字的区别。一般出现这种情况可能是由 于考虑扩展性
    一般来说,最好不要使用关键字和保留字作为标识符和属性名,以便与将来的ECMAScript版本兼容

    4,ECMAScript的变量是松散类型的,即可以用来保存任何类型的数据
       ECMAScript实际上是一种脚本在语法和语义上的标准。实际上JavaScript是由ECMAScript,DOM和BOM三者组成的

    5,定义变量时使用var关键字
        var message = "hi";
        a,如上,定义变量的同时设置变量的值并不会把变量标记为字符串类型,初始化仅仅是个变量赋一个值而已
        b,不建议修改变量所保存值的类型

    6,局部变量 和 全局变量 (见下)

    7,一条语句定义多个变量:
       var message = "hi",
           found = false,
           age = 29; 

    */ 
    
    function sayHi(){
        "use strict";  // 给未经声明的变量赋值在严格模式下会导致抛出ReferenceError错误
        //var message = "hello";  // var 操作符定义的变量将成为定义该变量的作用域的局部变量
        message = "hello";  // 省略var操作符创建的是一个全局变量(不建议使用,因难以维护,会产生混乱)
    }
    sayHi();
    alert(message);
    
    </script>
</head>
<body>
    
</body>
</html>

让学习“上瘾”,成为更好的自己!

上一篇:web网页实验三


下一篇:《Java 8 in Action》Chapter 4:引入流