使用Firebug和chrome-devToolBar调试页面样式或脚本是前端开发每天必做之事.这个开发神器到底能给我们带来哪些更神奇的帮助呢?这几天看的一些资料中给了我启发,能不通过Firebug和chrome-devToolBar发现JS的全局对象的全部属性呢?能不能发现document对象中含有哪些不常用而又需要深刻理解的属性呢? 我们在此开8! 原创博文,转载请标明出处:http://www.cnblogs.com/dereksunok/p/4884460.html. 一.浅析for-i…
本节是javascript语言的一个快速预览,也是本书的第一部分快速预览. 读此书之前,感谢淘宝技术团队对此javascript核心的翻译,感谢弗拉纳根写出此书.感谢你们无私的分享,仅以此笔记献给你们的辛勤付出. 一:javascript语言核心 本章之后,我们将主要关注javascript的基础知识.第二章我们讲解javascript的注释,分号和unicode字符集:第三章会更有意思,主要讲解javascript的变量和赋值 这里有一些实例代码说明前两章的重点内容. <script type…
第四章 表达式和运算符 P66 运算符优先级,从上到下: p68 属性访问表达式和调用表达式的优先级比运算符优先级都要高,eg: typeof my.functions[x](y) //typeof在两次属性访问和函数调用后执行 赋值运算优先级极低,通常最后执行. P69 R:从右至左结合性 x = ~-y; //x = ~(-y) w = x = y = z; //w = (x = (y = z)) q = a?b:c?d:e?f:g; //q = a?b:(c?d:(e?f:g)) P69…
编程语言的词法结构是一套基础性规则,用来描述如何使用这门语言来编写程序.作为语法的基础,它规定了诸如变量名是什么样的.怎么写注释,以及程序语句之间如何分割的等规则. 1.1字符集 JavaScript程序是用Unicode字符集编写的.至于Unicode字符集,目前虽然查过一些资料,但是至今对UTF-8.UTF-16还是晕菜,也没搞懂一个汉字到底占几个字节的问题,所以这里就不做介绍了(就当埋坑了,以后搞懂了再做介绍吧).至于计算js中一个字符串所在字节数,曾查到如下实现代码: 1 /** 2 *…
javascript在书写时应注意得那四点: 1)大小写敏感: 2)javascript是弱类型语言,声明变量是应全部使用var(因为javascript是弱类型语言): 3)字符串在定义时使用单引号和双引号均可以,在javascript中定义字符串时推荐使用双引号,为了与其他语言保持一致: 4)每行代码结束时使用分号隔开.…
1.枚举: 用for in 语句来遍历一个对象中所有的属性名,该枚举过程将会列出所有的属性也包括涵数和方法,如果我们想过滤掉那些不想要的值,最为常用的过滤器为hasOwnProperty方法,以及使用的typeof来排除, var name; for(name in another_stooge){ if(typeof another_stooge[name] !== "function"){ document.writeln(name + ":" + anothe…
1.对象名/值得映射 var book={ top:"a", fat:true }   2.访问对象属性 book.top book["fat"] 3.通过赋值创建一个新属性 book.dou="v"; 4.数组 var p=[1,2,3]; p[3]=4;//通过赋值来添加新元素 p[3]=5;//通过赋值来改变已有的元素 5.函数是一种值,可以赋值给变量 var sp=function(x){ return x*x; };    6.按照惯例…
对象: 通过引用(而非值)来操作对象: var obj = {"x":1,"y":2}; var copyObj = obj; copyObj.x = 5; console.log(obj);//{x:5,y:2} 对象最常见的用法是创建.设置.查找.删除.检测.枚举它的属性: (一).创建对象 (1).对象直接量创建 var empty = {}; var point = {x:1, y:2}; var point2 = {x:point.x,y:point.y}…
1.var用来声明一个或多个变量.全局变量是全局对象的属性,它无法通过delete删除. 如果var语句中的变量没有指定初始化表达式,那么这个变量的初始值为undefined. 变量声明语句会被提前到脚本或函数的顶部,但是初始化的操作还是在原来的位置执行. 2.和var声明的变量一样,函数定义语句中的函数(var setVal = function(){...})被显式地“提前”到脚本或函数的顶部. 3.条件语句(分支): (1).if.else匹配规则:else总是和就近的if语句匹配 (2)…
1.函数作用域:在函数内声明的所有变量在函数体内始终是可见的.这意味着在变量声明之前甚至已经可用. *“声明提前”:javascript函数里声明的所有变量(但不涉及赋值)都被提前至函数的顶部. function test(o) { var i = 0; if(typeof(o) == "object") { var j = 0; for(var k=0; k<10; k++) { console.log(k);//0-9 } console.log(k);//10 } cons…