1.  构造函数以大写字母开始

      关键子this指代初始化的实例

       不需要return

   function Point(x, y)

  {

        this.x = x;

  }


2. JS区分大小写(xHTML区分大小写,html不区分)

3. 空格符   \u0020

   水平制表符      \u0009

   垂直制表符       \u000B

   换页符               \u000C

   不中断空白        \u00A0

   字节序标记        \uFEFF(当作空格对待)

   换行符                \u000A

   回车符                \u000D

   行分隔符            \u2028

   段分隔符            \u2029

   回车符换行符在一起被解析为一个单行结束符

   

    从右至左书写标记    \u200F

    从左至右书写标记    \u200E

     零宽连接符\u200D和零宽非连接符\uFEFF可以出现在标识符中,不能是首字符

       

4.  javascript解释器会自动为没有添加分号的代码添加上分号,解释器判断哪里需要添加(上下文可以运行,就将其作为整体运行),如果写的不明显,解释器可能会判断出错!影响结果运行!

如  y = x+f

     (a+b).toString()

解释器会将它变成: y=x+f(a+b).toString()

并不是我们要的结果,建议书写结束添加分号;


5, 标是符就是变量和函数的命名,可以是数字,下划线或$开头的

6. 对象转换成字符串的过程

   1. 存在toString()函数,则将其返回的原始值进行转换为字符串

   2. 如果不存在toString(), 则使用valueOf()函数进行操作!


   对象转换为数字的过程

  1. 先用valueOf(), 

   2 . 不存在,再使用toString()!

  

7. 在做+, ==, != < ,等操作时,对象先通过valueOf()或toString()转换为原始值,直接使用!


8. 动态类型的编程语言:在运行期间才去进行数据类型的检查,不需要给变量指定数据类型

    静态类型的编程语言: 在编译期间进行数据类型的检查,需要在写程序时定义数据类型