标识符:

  • 命名:

    • 语法以及类型----语法关键字                                           //逻辑
    • 值(的存储位置)----变量和常量                                    //值
  • 绑定://位置
    • 语法关键字对位置的绑定----作用域限定
    • 变量对位置的绑定---变量生存周期的限定

声明:约定变量的生存周期和作用域;

标识符语义关系:

  • 与值相关:

    • 类型
    • 变量:
      • 直接量
      • 对象
  • 与逻辑相关:
    • 控制流程语句:

      • 标签声明
      • 一般流程控制语句    //break,continue,return
      • 异常
  • 与值和逻辑都相关:
    • 表达式:

      • 值运算
      • 对象存取
    • 逻辑语句:
      • 顺序
      • 分支
      • 循环
  • 其他:
    • 注释

JS引擎运行及响应错误

  • 1.语法分析(语法分析错误);  //变量声明在语法分析阶段就处理,所以在执行的时候会有变量名提前的效果;
  • 2执行(执行异常)

*js中函数多重含义包括:函数,方法,构造器,类以及函数对象等。

*由于不具备对象系统的全部特性,js通常称为基于对象而非面向对象的语言。

运算:(注意特殊值NAN)

  • 一般表达式运算的结果总是直接量;
  • 函数/方法调用的结果可以返回值或引用;
  • 两个相同引用如果等值,那一定全等;

字符串转义序列:(\)

  • 将无意义的字符串转化为有意义;
  • 将有意义的符号转化为无意义;

注意:

字符:空字符串也可以用作对象成员名;

数值:当包括点字符“.”,字符e,E时,该直接量总会被标识为浮点数;(注意某些引擎会优化一直直接量的内部存储形式);

函数:在表达式中具名函数只识别为匿名函数而忽略函数名;   -----(function foo(){})

js:语言精髓笔记1--标识符与基本类型的更多相关文章

  1. js:语言精髓笔记12--动态语言特性(2)

    对于括号内: 通过赋值时发生的重写: (Object1 = function() {}).prototype.value = 100; var obj1 = new Object1; console. ...

  2. js:语言精髓笔记11--动态语言特性(1)

    语言:程序最终被表达为数据(结构)和逻辑(算法),命令式和说明式/函数式语言分别从这两方面分类: 动态:在语言陈述时无法确定,必须在计算机执行时才能确定语言关系:JS是完全动态语言,导致其不确定性一般 ...

  3. js:语言精髓笔记10--闭包

    闭包:  //JS函数式风格中,在内部保存数据和对外无副作用这两个特性主要就是通过闭包实现的: 函数与闭包: 一个函数是一段静态代码,它是一个代码书写时已经编译期,静态概念:闭包是函数在代码运行过程中 ...

  4. js:语言精髓笔记9--函数式语言特征

    形式化运算系统的研究: 图灵:提出图灵机形式系统,通过0,1运算系统来解决复杂问题: 冯诺依曼:提出了冯诺依曼体系:即通过修改内存反映运算结果: 阿隆左.丘奇:提出新的运算范型Lambda演算,计算机 ...

  5. js:语言精髓笔记8--对象系统

    封装: 一把对象系统,封装是由语法解析来实现的,即语法作用域:但js是动态语言,因此只能依赖变量作用域: js的变量作用域只有表达式,函数,全局三种:所以js只能实现public和private两种封 ...

  6. js:语言精髓笔记7----原型继承

    面向对象有三个基本特性:封装,继承,多态:如果都满足的话称为面向对象语言:而部分满足则称为基于对象语言: 数据类型实现模型描述: JavaScript对象模型: 构造过程:函数->构造器 构造器 ...

  7. js:语言精髓笔记5----语言分类

    计算模型:源于对计算过程的不同认识: 1.基于不同计算模型一般分为://教科书的一般分类 命令式语言: 函数式语言: 逻辑式语言: 面向对象程序设计语言: 2.基于程序本质分类:  //编程的经典法则 ...

  8. js:语言精髓笔记13--语言技巧

    消除代码全局变量名占用: //本质是使用匿名函数: void function(x, y, z) { console.log(x + y + z); }(1,2,3); //要使函数内的变量不被释放, ...

  9. js:语言精髓笔记6----作用域

    js基础语法:由语句.表达式和变量构成:   语句是主要表达方式:单语句->复合语句(代码块)->程序片段(函数):js中没有单元和程序的概念: 作用域: 语法作用域与变量作用域的区别:前 ...

随机推荐

  1. 在表单(input)中id和name的区别

    但是name在以下用途是不能替代的: 1. 表单(form)的控件名,提交的数据都用控件的name而不是id来控制.因为有许多name会同时对应多个控件,比如checkbox和radio,而id必须是 ...

  2. SSDT Hook实现简单的进程隐藏和保护【转载】

    原文链接:http://www.blogfshare.com/ssdthook-hide-protect.html 原文作者:AloneMonkey SSDT Hook实现简单的进程隐藏和保护 Alo ...

  3. ajax 之js读取xml的多浏览器兼容

    主要是分为两大类:IE.其它浏览器 IE8以下只支持这种 InputVoltage.innerText = xmlDoc.getElementsByTagName(id)[0].text, 其它浏览器 ...

  4. java笔记--关于克隆技术

    关于克隆 --如果朋友您想转载本文章请注明转载地址"http://www.cnblogs.com/XHJT/p/3884817.html"谢谢-- 1.假克隆 如: ObjectA ...

  5. [Effective JavaScript笔记]第3条:当心隐式的强制转换

    js对类型错误出奇的宽容 3+true;  //4 3*””;  //0 3+[]; //3 3+[3]; //33 以上表达式在许多语言早就变红了.而js不但不报错还给你个结果. 极少情况会产生即时 ...

  6. unity3d webplayer 16:9 居中显示模板

    原地址:http://www.cnblogs.com/88999660/archive/2013/04/12/3016773.html <!DOCTYPE html PUBLIC "- ...

  7. magic-encoding

    (文章都是从我的个人主页上粘贴过来的,大家也可以访问我的主页 www.iwangzheng.com) 今天页面跳转都出问题了,各种方法都试过了, log里说语法错误,问了pp,他说是汉字的原因...果 ...

  8. TokuDB的特点验证 - billy鹏

    TokuDB的特点验证 - billy鹏 时间 2014-03-03 14:28:00  博客园_billy鹏的足迹原文  http://www.cnblogs.com/billyxp/p/35674 ...

  9. 【云计算】docker registry v2简介

    ubuntu docker方式部署docker registry v2 2016-03-03 17:36 by JackieHan, 4 阅读, 0 评论, 收藏,  编辑 生成自己签名的证书 生成签 ...

  10. MVC3和MVC4相关问题

    从TFS获取的MVC项目生成一直提示这个错误,我的VS中MVC3和MVC4都有,TFS项目中的MVC版本应该是MVC3的,现在我要用这个项目,但是一直是这个错误,请高手指点,积分不多了,见谅 程序集“ ...