注释 JavaScript提供两种注释: /* */包围的块注释及//开头的行注释. 注释应该被优先用来提高程序的可读性,注释要精确地描述代码,没有用的注释比没有注释更糟糕. /* */块注释对于被注释的 代码块 是不安全的, (当包裹正则表达式时会导致语法错误). 建议避免使用. 标识符 JavaScript不允许使用保留字来命名变量或参数. 且不允许在对象字面量中 或者 用点运算符提取对象属性时, 使用保留字作为对象的属性名. 字符串 JavaScript被创建的时候, Unicode是一个…
第一章 精华 任何语言都有其精华的部分和鸡肋的部分,javascript也不例外,而且鸡肋的部分还很多.但javascript的流行却不受他的质量影响. javascript为何如此流行?因为他是web浏览器的语言,所有浏览器都识别他.他与浏览器的结合自然成为了世界上最流行的语言之一. javascript建立在一些非常好的想法和少数非常坏的想法之上.非常好的想法包括函数.弱类型.动态对象(这个还没理解)和富有表现力的对象字面量表示法:坏的想法包括基于全局变量的编程模型(所有编译单元的所有顶级变…
内容比较简单,只是从头梳理一下JS的知识 语法空白标识符数字字符串语句 对象对象字面量检索更新引用原型反射枚举删除减少全局变量污染  语法 1 空白 空白可能表现为格式化字符或注释的形式.空白通常没有意义,但是偶尔必须用它来分割字符序列,否则它们就会被合并成一个单一的符号.例如: var that = this; var 和that之间的空格是不能去掉的,其他的空格都可以被移除. JS提供两种注释: /* */ // 建议使用//,因为/* */中要注释的内容可能包括字符 */ 而报错,例如:…
一.in的用法 for...in 枚举一个对象的所有可枚举属性 检测DOM/BOM属性 if ("onclick" in elem) { // 元素支持onclick } if ("onerror" in window) { // window支持onerror } 检测js对象的原型属性(结合hasOwnProperty()函数) if ("attr" in obj && !obj.hasOwnProperty("at…
阅读笔记<JavaScript语言精粹> 对象 1.检索属性 使用[]和. 2.引用传递 JavaScript的简单数据类型包括数字.字符串.布尔值.null值和undefined值.其它所有的值都是对象.数组是对象,函数是对象,正则表达式是对象.对象通过引用传递,它们永远不会被复制. 3.原型 当我们对某个对象做出改变时,不会触及该对象的原型,只有在检索值的时候才会被用到.原型连接在更新时是不起作用的.delete删除对象中的属性,它也不会触及原型链中的任何对象,删除对象的属性可能会让来自原…
第一章 精华 1,JavaScript的函数(主要)基于词法作用域(lexical scoping)的顶级对象.强类型语言允许编译器在编译时检测错误,但弱类型很自由,无需建立复杂的类层次,不用做强制造型.JavaScript拥有强大的对象字面量表示法,这种表示法是JSON的灵感来源. 2,JavaScript有一个无类型的(class-free)对象系统,在这个系统中,对象可以直接从其他对象继承属性. 3,JavaScript依赖于全局变量来进行连接,所有编译单元的所有顶级变量被撮合到一个全局对…
函数函数对象函数字面量调用参数返回异常给类型增加方法递归作用域闭包回调模块级联套用记忆   函数 1 函数对象 在JS中函数就是对象.对象是“名/值”对的集合并拥有一个连接到原型对象的隐藏连接.对象字面量产生的对象连接到Object.prototype.函数对象连接到Function.prototype(该原型本身连接到Object.prototype).每个函数在创建时附有两个附加的隐藏属性:函数上下文和实现函数行为的代码. 因为函数是对象,所以它可以像任何其他的值一样被使用.函数可以存放在变…
JavaScript语言精粹笔记 掌握语言的每个特性可以让你出风头,但是并不推荐,因为一部分的特性带来的麻烦可能远超本身的价值.正如书中所言,坏的材料并不能雕刻出好的作品,要成为一名更好的程序员,要取其精华去其糟粕.当你知道要做什么的时候,它还能表现的更好,编程时一件相对困难的事情,绝不应该在懵懂的状态下开始编程之旅. JS中的注意为//或者/*content*/,注释一定要精确地描述代码,不然没有用的注释比没有注释更糟糕. JS中的代码块不会创建新的作用域,因此变量应该被定义在函数的头部,而不…
正则表达式 正则表达式以方法的形式被用于对字符串中的信息进行查找.替换画图提取操作.可处理正则表达式的方法有:regexp.exec, regexp.test,string.match, string.replace, string.search, 和string.split. 结构 有两个方法来创建一个RegExp对象.优先方法是使用正则表达式字面量.正则表达式被包围在一对斜杠中.有3个标志能在RegExp中设置,分别为g.i.m. // 构造一个匹配JavaScript字符串的正则表达式对象…
数组1 数组字面量2 长度3 删除4 列举5 混淆的地方6 方法7 维度 数组1 数组字面量 var empty = []; var numbers = [ 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine' ]; empty[1] // undefined numbers[1] // 'one' empty.length numbers.length 数组字面量可以出现在任何表达式可以出现…