JavaScript学习日志(2)】的更多相关文章

javascript学习日志系列的所有博客,主要理论依据是<javascript权威指南>(犀牛书第6版)以及<javascript高级程序设计第三版>(红色书),目前js行业内公认的两本权威圣经,无奈有些地方两本书会有一些说辞不一致,那我加入了一些自我理解,尽量将两者融会贯通,通读之后发现,js确实魅力无限,每次看一遍都会有新的理解和感悟,所以这系列我会持续更新,一旦有新的理解我会立即写下来,不断的推翻重建再推翻再重建,我很享受这个自我认知不断更新的过程. 我知道学习js的路很漫…
这篇随笔,深恶痛绝,敲到快结束的时候,凌晨00:19,突然闪退,也不知道是Mac的原因还是chrome的原因,重新打开的时候,以为自动保存有效果,心想没关系,结果他么的只保存了四分之一,WTF?!!!!还得重新继续敲,所以提醒各位笔者,永远不要相信所谓的时时保存,敲一点记得保存一点!坑!!! 一,概念梳理 1,事件:就是文档或浏览器窗口中发生的一些特定的交互瞬间: 2,事件流:描述的是从页面中接收事件的顺序:IE团队提出的是事件冒泡流,Netscape团队提出的是事件捕获流: 3,事件冒泡:事件…
一,基本定义 DOM是针对HTML和XML文档的API,根据W3C的HTML DOM标准,html文档中所以内容(无论是元素还是标签还是注释还是元素属性)都是节点. 二,Node类型:每一个节点都含有一个nodeType属性,对应着不同的数字,一共有12个,这里只记住前三个: 1.代表元素节点,也是最多的 2.代表属性节点,就是元素的属性,也是节点 3.代表文本,一个空格,一个回车都是代表#text节点 9.代表document文档 如果nodeType=1,元素节点,则nodeName就是标签…
BOM的核心对象就是window,这一章没什么好说的,总结一些比较常用的: 1,a未定义,a; //报错window.a; //undefined 不能用delete删除全局变量 2,html5不支持<frame>标签,但是支持<iframe>标签 3,js中window对象的top,opener,parent,self属性(虽然对于window来说,它们是一种属性,但是也可以直接用他们作为对象)的区别: top:该变更永远指分割窗口最高层次的浏览器窗口.如果计划从分割窗口的最高层…
一,变量分为两种类型:基本类型值和引用类型值,基本类型包括:Undefined, String, Boolean, Null, Number,我们无法给基本类型值添加属性: 二,复制变量值的时候,如果改变复制的值,那么原来的值是否会变化? 这个取决于原来的值是什么类型: 1.基本类型值:只是存在于栈内存中,如果复制,相当于栈内存里又多了一个值,两者相互独立,改变其中一个,另一个不变 2.引用类型值:实际上是指向堆内存中的一个object,复制相当于多了一个指针,也是指向这个堆内存中的一小块obj…
javascript有自动添加分号的功能,但是不是所有情况都会自动添加,要区分: 1,如果语句独占一行 如果当前行内的语句能够被js正确解析,那么就会在句尾添加一个分号. (如何判断是否正确解析?你在控制台执行当前语句,不报错就可以-.-) 那么反之,如果当前语句不能被正确解析,那么就不会添加分号,而是将此行的末尾和下一行的开头连起来解析,所以就会产生其他问题. a=1 b=1; // 第一个分号可以省略 var a a = 1 // 解析为 var a; a = 1; 因为等号是没办法解析的,…
javascript数据类型: 字符串string.数字number.未定义Undefined.空Null.布尔Boolean.数组Array.对象Object.javascript对象: 对象由花括号分隔,在括号内部,对象的属性以名称和值的形式(name:value)来定义,属性由逗号分隔. 对象的创建推荐用var people={Name:'jerry',Age:21,eat:function(){} } 也可以创建对象再追加属性和方法: var people=new Object(); p…
javascript用法: 1.HTML中的脚本必须位于<script>与</script>标签之间,可被放置在HTML页面的<body>和<head>部分中: 2.也可以把脚本放在外部.js文件中,需要使用时,在<script>标签的“src“属性中设置引用路径.外部脚本不能包含<script>标签.javascript输出: 1.使用window.alert()弹出警告框: 2.使用document.write()方法将内容写到H…
说实话,前面一节的原型和原型链在当初学的时候并没有很头疼,对着高级编程第三版撸了几遍就理解透了,闭包这一节真的挺头疼的,很惭愧,看了差不多十来遍吧,还翻看了网上的其他博客和解释文档,五花八门的表达方式,虽然核心思想都一致,但是实在是不能做到自己的理解,后来结合函数作用域链,好不容易有点开窍,趁着热乎劲儿,赶紧写下来,感兴趣的可以参考一下. 闭包:高级编程上面的解释是指有权访问另一个函数作用域中的变量的函数,(是一个函数): 创建闭包的常见方式,就是在一个函数内部创建另一个函数. 在理解闭包之前,…
1,ECMAScript不像其他面向对象的语言那样有类的概念,它的对象与其他不同. 2,ECMAScript有两种属性:数据属性和访问器属性.([[]]这种双中括号表示属性为内部属性,外部不可直接访问) 1.数据属性:[[ Configurable ]]:表示能否通过delete删除属性,能否修改属性的特性,能否将属性修改为访问器属性,默认为true. [[ Enumerable ]]:表示能否通过for-in循环返回属性,默认为true. [[ Writable ]]:表示能否修改属性的值,默…