JavaScript 平时记录】的更多相关文章

1,JS中的this 见下面例子,注意函数中的函数 中的this指的是window对象了!!! document.addEventListener('click', function (e) { console.log(this);//this->document,添加在谁上的事件this就是指的谁 (function () { console.log(this);//this->window })(); }); var o = { a : function () { console.log(…
Javascript设计模式记录,这个方面确实是没写过,工作中也没有用到js设计模式的地方. prototype与面向对象取舍 使用prototype原型继承和使用面向对象,都可以实现闭包的效果.那么这两个的选择点,就是方法会不会产生多个实例. 例如,我们需要做一个闭包数组,并给他提供一个添加方法. !(function () { //原型继承写法 var Validator = function(){ this.cache = []; }; Validator.prototype.add =…
title: JavaScript学习记录四 toc: true date: 2018-09-16 20:31:22 --<JavaScript高级程序设计(第2版)>学习笔记 要多查阅MDN Web 文档 BOM Browser Object Model,浏览器对象模型. BOM提供了很多用于访问浏览器的功能,这些功能与任何网页内容无关. BOM缺少事实上的规范,因此浏览器之间共有的对象就成了事实上的标准. 没有所谓的标准BOM实现或者标准BOM接口. 图片来源于网络: window对象 w…
title: JavaScript学习记录三 toc: true date: 2018-09-14 23:51:22 --<JavaScript高级程序设计(第2版)>学习笔记 要多查阅MDN Web 文档 面向对象的程序设计 创建对象 工厂模式 工厂模式是软件工程领域广为人知的一种设计模式,这种模式抽象了创建具体对象的过程. 用函数来封装以特定接口创建对象的细节: function createPerson(name, age, job) { var o = new Object; o.na…
title: JavaScript学习记录二 toc: true date: 2018-09-13 10:14:53 --<JavaScript高级程序设计(第2版)>学习笔记 要多查阅MDN Web 文档 变量.作用域和内存问题 基本类型和引用类型的值 ECMAScript变量可能包含两种不同数据类型的值: 基本类型值:保存在栈内存中的简单数据段,这种值完全保存在内存中的一个位置 引用类型值:保存在堆内存中的对象,保存的实际上是一个指针,指针指向内存中真正对象保存的位置 五种基本数据类型:U…
title: JavaScript学习记录一 toc: true date: 2018-09-11 18:26:52 --<JavaScript高级程序设计(第2版)>学习笔记 要多查阅MDN Web 文档 简介 JavaScript是一种专门为网页交互而设计的脚本语言,由以下三个不同的部分组成: ECMAScript(发音 ek-ma-script,伪语言),由ECMA-262定义,提供核心语言功能: 文档对象模型(DOM,Document Object Model),提供访问和操作网页内容…
Javascript入门易,精通难,基本上是共识的一个观点.在这个篇幅里,主要对一些难点进行记录. 鸭子类型 Javascript属于动态类型语言的一种.对变量类型的宽容,给了很大的灵活性.由于无需类型检测,则无需考虑他是否被设计拥有该方法. 鸭子类型通俗说法:如果它走起路来像鸭子,叫起来也是鸭子,那么他就是鸭子 鸭子类型指导我们只关注对象的行为,而不关注对象本身.关注HAS-A 而不是 IS-A. 如下例子,不管什么动物,只要他会duckSinging,并且是方法,就可以加入. var duc…
javascript一些知识点记录 1.substring,slice,substr的用法 substring 和slice 都有startIndex 和 endIndex(不包括endInex),区别就在于slice取负数; 例如:var str='x123'; slice(-1,-2) -1指的就是3 负-2指的就是2: substring的中的负数,当做零来处理 substring中可以颠倒startIndex 和 endIndex的顺序,它会自动将最小的识别为开始的索引,最大的为结束索引…
<!DOCTYPE html><html><head><title>users.html</title> <meta name="keywords" content="keyword1,keyword2,keyword3"><meta name="description" content="this is my page"><meta n…
prototype与面向对象取舍 使用prototype原型继承和使用面向对象,都可以实现闭包的效果.那么这两个的选择点,就是方法会不会产生多个实例. 例如,我们需要做一个闭包数组,并给他提供一个添加方法. 这两种写法都可以实现闭包,但是面向对象的写法,只能存在一个.我们无法对他进行初始化,而原型继承写法,我们则可以对他进行初始化操作. 所以,当我们这个方法,在整个程序中,是唯一的存在.我们可以使用面向对象的写法,如果可以存在多个,则使用prototype这种写法. !(function ()…