随笔分类 -  Javascript

摘要:我在一开始看到javascript的函数apply和call时,非常的模糊,看也看不懂,最近在网上看到一些文章对apply方法和call的一些示例,总算是看的有点眉目了,在这里我做如下笔记,希望和大家分享.. 如有什么不对的或者说法不明确的地方希望读者多多提一些意见,以便共同提高..主要我是要解决一... 阅读全文
posted @ 2014-04-20 13:10 cbhello 阅读(264) 评论(0) 推荐(0)
摘要:javascript中prompt() 方法的使用prompt() 方法用于显示可提示用户进行输入的对话框。语法prompt(text,defaultText) text:可选。要在对话框中显示的纯文本(而不是 HTML 格式的文本)。 defaultText:可选。默认的输入文本。说明如果用户单击提示框的取消按钮,则返回 null。如果用户单击确认按钮,则返回输入字段当前显示的文本。在用户点击确定按钮或取消按钮把对话框关闭之前,它将阻止用户对浏览器的所有输入。在调用 prompt() 时,将暂停对 JavaScript 代码的执行,在用户作出响应之前,不会执行下一条语句。 阅读全文
posted @ 2013-11-18 14:48 cbhello 阅读(1751) 评论(0) 推荐(0)
摘要:在Javascript中用户交互的核心部分就是事件处理。Event是什么?event是用户操作网页时发生的交互动作,比如点击(click),event除了用户触发的动作外,还可以是文档加载,窗口滚动和大小调整。Event模型是什么?Event模型指的是浏览器如何处理发生的事件。不同的浏览器其处理机制也不尽相同,甚至截然相反。一般而言,某个界面元素发生单个事件,那么事件的处理对象就是该界面元素。但一个典型的问题是如果该界面元素存在父子元素,而且父子元素也定义了同样的事件,这个时候事件该如何处理呢,事件在父子元素之间是如何传递的呢,谁会先接收到这个事件,又是谁先处理呢?举个例子:--------- 阅读全文
posted @ 2013-10-22 19:47 cbhello 阅读(210) 评论(0) 推荐(0)
摘要:在Javascript中用户交互的核心部分就是事件处理。Event是什么?event是用户操作网页时发生的交互动作,比如点击(click),event除了用户触发的动作外,还可以是文档加载,窗口滚动和大小调整。Event模型是什么?Event模型指的是浏览器如何处理发生的事件。不同的浏览器其处理机制也不尽相同,甚至截然相反。一般而言,某个界面元素发生单个事件,那么事件的处理对象就是该界面元素。但一个典型的问题是如果该界面元素存在父子元素,而且父子元素也定义了同样的事件,这个时候事件该如何处理呢,事件在父子元素之间是如何传递的呢,谁会先接收到这个事件,又是谁先处理呢?举个例子:--------- 阅读全文
posted @ 2013-10-20 16:38 cbhello 阅读(192) 评论(0) 推荐(0)
摘要:匿名函数就是没有名字的函数;闭包是指有权访问另一个函数作用域中的变量的函数,创建闭包的常见的方式,就是在一个函数内部创建另一个函数,通过另一个函数访问这个函数的局部变量;使用闭包有一个优点,也是它的缺点;就是可以把局部变量驻留在内存中,可以避免使用全局变量;PS:全局变量污染导致应用程序不可预测性,每个模块都可调用必将引来灾难,所有推荐使用私有的,封装的局部变量;避免使用全局变量;参考:https://developer.mozilla.org/zh-CN/docs/JavaScript/Guide/Closures; http://www.ruanyifeng.com/blog/2009.. 阅读全文
posted @ 2013-09-24 20:31 cbhello 阅读(253) 评论(0) 推荐(0)
摘要:寄生构造函数,其实就是工厂模式+构造函数模式。这种模式比较通用,但不能确定对象关系//寄生构造函数 function Box(name,age){ var obj = new Object(); obj.name = name; obj.age = age; obj.run = function(){ return this.name + this.age + 'yunxingzhong...' }; return obj; } 阅读全文
posted @ 2013-09-24 09:48 cbhello 阅读(303) 评论(0) 推荐(0)
摘要:原型模式中,不管你是否调用了原型中的共享方法,他都会初始化原型中的方法,并且在声明一个对象时,构造函数+原型部分让人感觉又很怪异,最好就是把构造函数和原型封装到一起,为了解决这个问题,我们可以使用动态原型模式。//可以将原型模式封装到构造函数里 function Box(name,age){ this.name = name; this.age = age; this.family = ['one','two','three']; if(typeof this.tun!= 'function'){ //判断函数是否存在 ... 阅读全文
posted @ 2013-09-24 09:40 cbhello 阅读(302) 评论(0) 推荐(0)
摘要:1, 为了让属性和方法更好的体现封装的效果,并且减少不必要的输入,原型的创建可以是用字面量的方式;//原型字面量 function Box(){} Box.prototype = { //使用原型自变量的方式创建原型对象 name:'Lee', age:100, run:function(){ return this.name + this.age + '原型中', } };2,使用构造函数名访问prototypefunction Box()... 阅读全文
posted @ 2013-09-22 18:56 cbhello 阅读(303) 评论(0) 推荐(1)
摘要:在Javascript中,我们创建的每个函数都有一个prototype属性,这个属性是一个对象;它的用途是包含可以有特定类型的所有实例共享的属性和方法。可以这么来理解:prototype通过调用构造函数而创建的那个对象的原型对象。使用原型的好处:可以让所有对象实例共享它所包含的属性和方法。也就是说,不必在构造函数中定义对象信息,而是可以直接将这些信息添加到原型中。 //构造方法 function Box(name,age){ this.name = name; //添加属性 this.age... 阅读全文
posted @ 2013-09-22 17:38 cbhello 阅读(292) 评论(0) 推荐(1)
摘要:Javascript是一种基于对象的语言,一切都是对象;但是,它又不是一种真正的面向对象编程(OOP)语言,因为它的语法中没有class;如果我们要把“属性”(property)和“方法”(method),封装成一个对象,甚至要从原型对象生成一个实例对象,我们应该怎么做呢?一 , 生成对象的原始模式 假定我们把box看成一个对象,它有“名字”和“颜色”等属性;var box = { name : '', color : '' } 根据这个原型对象的规格(schema),生成两个实例对象;var box1 = {}; // 创建一个空对象 box1.name = 阅读全文
posted @ 2013-09-22 16:47 cbhello 阅读(197) 评论(0) 推荐(1)