![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JS学习
不一样的水果
不是非常帅,但是不错;不是很有钱,但是不缺钱,
很有事业心,但是不是工作狂,浪漫,但是不浪费。
这就是37度的男人,最安心,最放心,最舒心的男人!
展开
-
【js设计模式笔记---观察者模式】
观察者模式又称发布—订阅者(publisher-subscriber模式),这是一种多对多的关系,需要一种高级的抽象策略,以便订阅者能够彼此独立地发生改变,而发行方能够接受任何有消费意向的订阅者。模式的实践在javascript中有很多种方法可能实现发布—订阅模式。在展示那些示例之前,我们先确保各种角色的扮演者(对象)及其行为(方法)都已就绪。1. 订阅者:可以订阅和退订。它们转载 2014-05-22 14:39:19 · 3954 阅读 · 0 评论 -
【RequireJS--API学习笔记】
RequireJS加载javascript文件RequireJS的目标是鼓励代码的模块化,它使用了不同于传统标签脚本加载步骤。可以用它回事、优化代码,但其主要的目的还是为了代码的模块化。它鼓励在使用脚本以moudle ID替代URL地址。RequireJS以一个相对于baseUrl的地址来加载所有的代码。页面顶层标签含有一个特殊的属性data-main,require.js使用它来启动转载 2014-04-11 10:30:52 · 20875 阅读 · 0 评论 -
【js设计模式笔记---序】
javascript的灵活性javascript的强大特性是其灵活性。作为javascript程序员,只要你愿意,可以把程序写得很简单、也可以写得很复杂。这种语言也支持多种不同的编程风格。你既可以采用函数式编程风格,也可以采用更复杂一点的面向对象编程风格。即使你不懂函数式编程或面向对象编程,也能写出较为复杂的程序。使用这种语言,哪怕只采用编写一个简单的函数的方式,你也能高效地完成任务。这可能是转载 2014-05-04 18:01:15 · 581 阅读 · 0 评论 -
【js学习笔记-002】--词法结构.Unicode转义序列
Javascipt 定义了一种特殊序列,使用6们ASCII字符代表任意16Unicode内码。这些Unicode转义序列均以\u为前缀,其后跟随4位十六进制数。转意字符可以用作:字符串直接量,正则表达式直接量和标识符(关键字除外)。例如下字符串常量是等价的 "café" ==="caf\u00e9"原创 2013-07-18 13:38:49 · 997 阅读 · 0 评论 -
【js学习笔记-011】--null和undefined
javascript 的null和undefine原创 2013-07-18 16:25:22 · 637 阅读 · 0 评论 -
【js学习笔记-013】--字符串直接量
"" //空字符串 包含0个字符'testing'"3.14"'name="myform"'ECMAScript 3中字符串直接量必须写在一行中,而在ECMAScript 5中,字符串直接量可以拆分成数行,每行用反斜线(\)结束,反斜线和行结束符都不算是字符串直接量内容如下:"two\nlines" //显示为两行的字符"one\long\line" //显示原创 2013-07-19 08:49:35 · 925 阅读 · 0 评论 -
【js学习笔记-022】-- 对象转换为原始值
对象到布尔:比较简单所有对象到布尔都是ture,包括包装类new Boolean(false)是一个对象而不是原始值,它将转换为true 对象到数字,对象到字符串比较复杂一些。注意这里讨论的是本地对象,不包含宿主对象(例如浏览器定义的对象) 所有对象继承了两个转换方法。第一种toString(),它的作用是返回一个反映这个对象的字符串。默认的toString()方法并不会返回一原创 2013-07-19 14:59:27 · 2663 阅读 · 0 评论 -
【js学习笔记-024】-- 作用域链
在js的最顶层代码中,作用域链由一个全局对象组成。在不包含嵌套的函数体内,作用域链上有两个对象,第一个是定义函数参数和局部变量的对象,第二个是全局对象。在嵌套的函数体内,作用域链上至少有三个对象。理解对象链的创建规则是非常重要的。当定义一个函数时,它实际上保存一个作用域链。当调用这个函数时,它创建一个新的对象来存储它的局部变量,并将这个对象添加至保存的那个作用域链上,同时创建一个新的更长的表示转载 2013-07-19 15:58:30 · 577 阅读 · 0 评论 -
【js学习笔记-027】-- 对象
对象最常见的用法是创建、设置、查找、删除、检测和枚举它的属性。属性名可以是包含空字符串在内的任意字符串,但对象不能存在两个同名属性。每个属性还有一些与之相关的值,称为属性特性:可写:表明是否可以设置该属性的值可枚举:表明是否可以通过for/in循环该属性可配置:表明是否要以删除或修改该属性除此之外,每个属性还拥有三个相关的对象特性对象原型(prototype):指向另外原创 2013-07-23 16:16:09 · 494 阅读 · 0 评论 -
【js学习笔记-066】--- html里的条件注释
这段内容实际上是html的注释 它将只显示于IE 6 ie将不显示这段内容 比如引入一个jsIE中的js条件注释以文本/*@cc_on开头,以文本@*/结束如:/*@cc_on @if(@_jscript) //变量@_jsscript变量在ie中总是true alert(“in ie”); @end@*/原创 2013-10-29 21:56:40 · 851 阅读 · 0 评论 -
【js学习笔记-069】--- window 之定位和导航
Window对象的location属性引用的是Location对象,它表示该窗口中当前显示的文档的URL,并定义了方法来使窗口载入新的文档。Document.location属性也引用到Location对象window.location===document.location //总是返回trueDocument对象也有一个URL属性,是文档首次载入后保存该文档的URL的静态字符串。如原创 2013-11-02 19:23:53 · 746 阅读 · 0 评论 -
【js学习笔记-091】-----------注册事件处理程序
注册事件处理程序两种方式:一 给事件目标对象或文档元素设置属性二 更具有通用性,是将事件处理程序传递给对象或元素的一个方法但是复杂的是,每种技术都有两个版本。可以在js代码中设置事件处理程序为对象属性,或对于文档元素,可以在HTML中直接设置相应属性。对于通过方法调用处理程序注册。有一个标准方法,命名为addEventListener(),除IE8及以前版本之外,所有浏览器都支持这转载 2014-01-29 10:42:16 · 2125 阅读 · 0 评论 -
【js学习笔记-093】------文档加载事件
文档加载事件大部分web应用都需要web浏览器通知它们文档加载完毕和为操作准备就绪的时间。Window对象的load事件就是为了这个目的,load事件直到文档和所有图片加载完毕时才发生。然而,在文档完全解析之后但在所有图片全部加载完毕之前开始运行脚本通常是安全的。所以如果基于“load”发生之前的事件触发脚本会提升web应用的启动时间。当文档加载解析完毕且所有延迟脚本都执行完毕时会触发DO转载 2014-02-14 15:36:53 · 803 阅读 · 0 评论 -
【js学习笔记-094】---------鼠标事件
除”mouseenter” 和”mouseleave”外的所有鼠标事件都能冒泡。链接和提交按钮的”click”事件都有默认操作且能够阻止。可以取消上下文菜单事件来阻止显示上下文菜单,但一些浏览器有配置选项导致不能取消上下文菜单。类型说明click高级事件,当用户按下并释放鼠标或其他方式“激活”元素时触发contex转载 2014-02-17 11:57:46 · 2021 阅读 · 0 评论 -
【js学习笔记-095】----鼠标滚轮事件
鼠标滚轮事件学习本节时,除Firefox(妈的,firefox终于各色了一把)外所有浏览器都支持“mousewheel”事件,但firefox支持DOMMouseScroll 而DOM3规范草案建议使用名“wheel”替代“mousewheel”传递“mousewheel”处理程序的事件对象有wheelDeta属性,其指定用户滚动滚轮有多远。远离用户方向一次鼠标滚轮“单击”的wheelDe转载 2014-02-27 17:58:47 · 2899 阅读 · 0 评论 -
【js学习笔记-096】----拖放事件
【js学习笔记----拖放事件】前面的篇幅中我们已经介绍过响应鼠标拖动。使用像那样的技术允许在网页上拖起“放置”元素,但真正的“拖放”是另一回事。拖放是在“拖放源”和“拖放目标”之间传输数据的用户界面,它可以存在相同的应用之间,也可以是不同应用之间。拖放是复杂的人机交互,用于实现拖放的API总是很复杂:l 它必须和底层的OS结合,使它们能够在不相关的应用间工作。l 它们必须适用于“转载 2014-03-10 22:01:03 · 1860 阅读 · 0 评论 -
【js学习笔记-018】-- 包装对象
Js对象是一个复合值:它的属性或已命名值的集合。通过”.”符号来引用属性值。当属性值是一个函数时,称其为方法。通过o.m()来调用对象o中的方法。字符串也同样具有属性和方法:var s = “Hello, World”;var word = s.substring(s.indexOf(“,”)+1,s.length);字符串不是对象,为什么它会有属性?只要引用字符串s的属性,j原创 2013-07-19 10:34:36 · 1075 阅读 · 0 评论 -
【js学习笔记-023】-- 变量声明
重复声明和遗漏声明变量是合法且无害的变量作用域:在函数体内,局部变量的优先级高于同名的全局变量,函数定义是可以嵌套的。由于每个函数都有它自己的作用域,因此它会出现几个局部作用域嵌套的情况。函数作用域和声明提前 Js没有块级作用域,它是使用函数作用域:变量在声明它的函数体及这个函数体嵌套的任意函数体内都是有定义的。 函数内声明的所有变量在函数体内始终是可见的。有意思的是,原创 2013-07-19 15:27:00 · 646 阅读 · 0 评论 -
【js学习笔记-026】-- 语句
with(object) statement 这条语句将object不回到作用域链头部,然后执行statement,最后把作用域链恢复到原始状态。(不建议使用,移植性不好,效率低等特点)语句语法用途breakbreak [label] casecase ex原创 2013-07-19 17:39:30 · 577 阅读 · 0 评论 -
【js学习笔记-035】--属性getter和setter
ECMAScript5(包括除IE以外的最新主浏览器的ECMAScript3的实现)由getter 和 setter定义的属性称做“存取器属性”,它不同于“数据属性”:数据属性只有一个简单的值。如果对象属性同时有getter和setter方法,它是一个读写属性。如果它只有getter方法,那么它是一个只读属性。如果它只有setter方法,那么它是一个只写属性,读取只写属性总是返回undef原创 2013-07-23 16:22:25 · 1798 阅读 · 0 评论 -
【js学习笔记-037】--对象的三个属性
原型属性:ECMAScript5 将对象作为参数传入Object.getPrototypeOf()可以查询它的原型。在ECMAScript3中,则没有与这等价的函数。但经常使用表达式o.constructor.prototype来检测一个对象的原型。能过new表达式创建的对象,通常会继承了个constructor属性,这个属性指代创建这个对象的构造函数。类属性:是一个字符串,用以表示对象的原创 2013-07-23 16:24:39 · 1805 阅读 · 0 评论 -
【js学习笔记-045】-- 类对象数组
数组的特性:l 当有新的元素添加到列表中时,自动更新length属性l 设置length为一个较小值将截断数组l 从Array.prototype中继承一些有用的方法。l 其类属性为”Array”Arguments对象就是一个类数组对象。后继讨论!原创 2013-07-29 11:26:51 · 429 阅读 · 0 评论 -
【js学习笔记-047】-- 函数的实参和形参
实际上,js函数调用甚至不检查传入形参的个数。当调用函数的时候传入的实参比函数声明的形参个数要少,剩下的形参都将设置为undefined值。因此在调用函数时形参是否可选以及是否可以省略应当保持较好的适应性。为了做到这一点,应当给省略的参数一个合理的默认值。//对象o中可枚举的属性名追加至数组a中并返回数组a//如果省略a,则创建一个新数组并返回这个新数组。fucntion getPro原创 2013-08-04 10:44:53 · 7665 阅读 · 0 评论 -
【js学习笔记-054】标准转换方法
toString()方法,这个方法的作用是返回一个可以表示一个可以表示这个对象的字符串。在希望使用字符串的地方用到对象的话如:将对象用做属性名或使用“+”运算符来连接两字符串运算。 js会自动调用这个方法。如果没有实现这个方法,类会默认从Object.prototype中继承toString()方法。这个方法的运算结果是"[object Object]"。这样的返回没有什么意义,toString(原创 2013-10-11 22:17:52 · 639 阅读 · 0 评论 -
【js学习笔记-061】正则表达式
正则表达式是描述字符模式的对象。RegExp类表达正则表达式,String和RegExp定义了方法,后者使用正则表达式进行强大的模式匹配和文本检索与替换功能。正则表达式的定义Js中正则表达式用RegExp对象表示,可以使用RegExp()构造函数来创建RegExp对象,不过更多的是通过一种特殊的直接量语法来创建。就像通过引号包裹字符的方式来定义字符串直接量一样。Js中程序运行时每次遇到原创 2013-10-28 16:55:44 · 794 阅读 · 0 评论 -
【js学习笔记-067】--- 同源
同源同源的理解:脚本本身的来源和同源策略并不相关,相关的是脚本所嵌入的文档的来源!!同源还适用于XMLHttpRequest生成的HTTP请求,这个对象允许客户端javascript生成任意的http请求到脚本所属的文档的web服务器,但是不允许脚本和其他web服务器通信不严格的同源策略例如home.example.com想要合法地读取developer.example.com载入原创 2013-10-29 21:57:43 · 577 阅读 · 0 评论 -
【js学习笔记-031】--继承
为了更好地理解这种继承,必须更深入地了解属性的访问细节。假设要查询对象o的属性,如果o中不存在x,那么将会继续在o的原型对象中查询属性x。如果原型对象中也没有x,但这个原型对象也有原型,那么继续在这个原型对象的原型上查询,直到找到x或者找到一个原型是null对象为止。可以看到,对象的原型属性构成了一个“链”o.x =5; 如果对象没有x则创建并赋值,如果有,则简单赋值,如果是从原型那里继承的,原创 2013-07-23 16:18:39 · 511 阅读 · 0 评论 -
【js学习笔记-070】--- 浏览历史
window.history属性引用的是该窗口的History对象。History对象是用来把窗口的浏览历史用文档和文档状态列表的形式表示。History对象的length属性表示浏览历史列表中的元素数量,但出于安全因此,脚本不能访问已经保存的URL back()和forward()方法与浏览器的“后退”“前进”按钮一样:它们使浏览历史前后跳转一格。go() history.go(原创 2013-11-02 19:46:06 · 594 阅读 · 0 评论 -
【js学习笔记-072】--- 对话框
alert() //向用户显示一条消息并等待用户关闭对话框confirm() //也显示一条消息,要求用户单击确定或取消按钮,返回一个布尔值prompt() //也显示一条消息,等待用户输入字符串,并返回那个字符串。showModalDialog(); //显示一个包含html模式的“模态对话框”,可以给它传入参数,以及从对话框里返回值。这个方法在窗口关闭之前不会返回值。当窗口关闭后,原创 2013-11-02 20:13:14 · 491 阅读 · 0 评论 -
【js学习笔记-009】--数字.二进制浮点数和四舍五入错误
javascript实数原创 2013-07-18 15:08:15 · 988 阅读 · 0 评论 -
【js学习笔记-016】-- 模式匹配
RegExp()构造函数,用来创建表示文本匹配模式的对象,这些模式称为“正则表达式”,将在后续的学习中详细了解。虽然它不是js的基本数据类型,但它仍具有直接量的写法。可以直接在js中使用:/^HTML/ 匹配以HTML开始的字符串/\bJavascript\b/ 匹配javascript,忽略大小写字符串同样具有接收RegExp参数的方法var text = “testing :原创 2013-07-19 09:36:49 · 661 阅读 · 0 评论 -
【js学习笔记-021】-- 显式类型转换
Js可以做灵活的类型转换,因此其”==”相等运行算也随相等的含义灵活多变,例如下面的结果均为ture.null == undefined“0” == 0 //比较之前字符串转换为数字0==false //比较之前布尔值转换为数字“0” == false //比较之前字符串和布尔值都转换为数字 注意:一个值转换为另一个值,并不意味着两个值相等。比如,如果在期望使用布尔值的地方原创 2013-07-19 11:50:24 · 1131 阅读 · 0 评论 -
【js学习笔记-030】-- 作为关联数组对象
看起来像数组,只是这个数组元素是通过字符串索引而不是数字索引。即关联数组(associative array),也称散列、映射或字典。原创 2013-07-23 16:17:58 · 420 阅读 · 0 评论 -
【js学习笔记039】-- 创建数组
直接量调用构造函数(3种):new Array();=>[] new Array(3); //预分配数组空间,注意,数组中没有存储值,甚至数组的索引属性0,1等还未定义new Array(5,4,3,2,1,”testing,texting”); //直接给定两个或多个数组元素原创 2013-07-23 17:57:41 · 464 阅读 · 0 评论 -
【js学习笔记-063】RegExp对象
正则表达式是通过Regexp对象来表示的。除了RegExp()构造函数之外,RegExp对象还支持三个方法和一些属性。构造函数有两个参数,第一个是正则表达式的主体部分,也就是直接量两条斜线之间的文本。第二个参数是表达式修饰符。不过只能传入修饰符igm或者它们的组合。如Var zipcode = new RegExp(“\\d{5}”,”g”);当需要动态创建正则表达式的时候,这原创 2013-10-28 18:00:41 · 525 阅读 · 0 评论 -
【js学习笔记-073】-------打开和关闭窗口
window.open()载入指定的URL到新的或已存在的窗口中,并返回代表那个窗口的window对象。open方法参数参数1要在新窗口里显示的文档URL。如果参数省略(可以是空串),那么会使用空白的URL about:blank。参数2是新打开窗口的名字。如果指定的是一个已经存在的窗口的名字,会直接使用已存在窗口。否则会打开一个新的窗口,并将这个指定的名字赋值给它。如果省原创 2013-11-06 22:14:53 · 858 阅读 · 0 评论 -
【js学习笔记-074】---------同步、异步和延迟脚本
javascript第一次添加到web浏览器时,还没有API 可以用来遍历和操作文档的结构和内容。当文档还在载入时,javascript影响文档内容的唯一方法是快速生成内容。它使用document.write()方法完成上述任务。当脚本把文本传递给document.write()时,这个文本被添加到文档输入流中,html解析器会在当前位置创建一个文本节点,将文本插入这个文本节点后面。不推荐使用转载 2014-01-04 22:41:57 · 1390 阅读 · 0 评论 -
【js学习笔记-075】-----客户端javascript线程模型
【js学习笔记-----客户端javascript线程模型】js语言核心并不包含任何线程机制,并且客户端js传统上没有定义任何线程机制。html5定义了一种作为后台线程的“Web Worker”,但是客户端js还像严格的单线程一样工作。甚至当可能并发执行的时候,客户端js也不会知晓是否真的有并行逻辑的执行。单线程会使开发更简单,不会担心出现锁 死锁 况态条件 单线程执行意味着浏览器转载 2014-01-04 22:42:38 · 675 阅读 · 0 评论 -
【js学习笔记-076】-----客户端时间线
1. web浏览器创建Document对象,并且开始解析web页面,解析html元素和它们的文本内容后添加Element对象和Text节点到文档中。document.readystate属性值是"loading"2. 当没有遇到async和defer属性元素时,它把这些元素添加到文档中,然后执行行内或外部脚本。同步执行时,下载和执行脚本时解析器会暂停。这样脚本就可以用doc转载 2014-01-04 22:43:08 · 765 阅读 · 0 评论 -
【js学习笔记-077】-----Internet 条件注释
IE6下会被解析 IE小于等于7 下会被解析 IE6下会被解析转载 2014-01-04 22:45:37 · 523 阅读 · 0 评论