2016-08-30 曹强
写在前面 废话不多说,请看下面3道题,把6个console.log()的答案写下来,然后对照着在Console控制台里敲一遍,校验一下结果。 more 代码片段 ``` var A = function() {}; a.prototype = { num : 1, text : 'aaa' }; var x = new A(); // 第一题 console.log(x.num); console.log(x.text); // --这里是分割线-- var y = new A(); A.prototype = { num : 2 }; // 第二题 console.log(y.num); c 继续阅读 »
2016-07-31 曹强
原型链继承 让构造函数的原型对象等于另一个类型的实例,利用原型让一个引用类型继承另一个引用类型的属性和方法 ``` function SuperType() { this.property=true; } SuperType.prototype.getSuperValue=function(){ return this.property; }; function SubType() { this.subProperty=false; } //继承SuperType SubType.prototype=new SuperType(); SubType.prototype.getSubValue=f 继续阅读 »
2016-08-02 曹强
原始类型 text ECMAScript有5种原始类型(primitive type),即Undefined、Null、Boolean、Number和String。ECMAScript提供了typeof来判断值的类型。 typeof运算符 var sTemp="test string"; alert(typeof sTemp);//outpus "string" alert(typeof 95);//outpus "number" text typeof运算符返回值只有5种,分别为:如果变量是Undefined型返回"undefined",如果变量是Boolean型返回"boolean",如果变量是Number型返回"n 继续阅读 »
2014-03-10 W.Y.
面试或被面试时基本都会涉及到这个最原始的 JavaScript 基础问题,试想一下您有没有在某些时候向别人解释这些概念时,把自己给绕进去了;网络上偶遇一篇英文文章,细读之后觉得有参考价值,文章不长,就顺手翻译了一下,希望某些同学可以用的上。 原文文中的 Scope 翻译成中文是“变量作用域”,译文某些地方直接简称为“作用域” ,Closure 翻译后是“闭包”。Rebort Nyman 的原文是 Explaining JavaScript Scope And Closures,某些不清楚的地方可以直接参考原文。 以下是译文 背景 很多文章或博客都在试着解释作用域和闭包,但大多数都没有解释的很清楚(crystal-clear) 继续阅读 »
2015-11-06 Jason Liao
对《JavaScript Patterns》和《Learning JavaScript Design Patterns》的一些总结,大部分是以链接的形式链接到更详细的笔记 感谢 汤姆大叔的关于设计模式的文章 和工作室小伙伴东帅,我们的讨论总能迸出点什么,这是他关于 Java Design Patterns 的 repo 继续阅读 »
2015-08-12 Lim Geng
递归 ```js function deepCopy(obj) { if (!obj || typeof obj !== 'object') return obj; var target = isPlainObject(obj) ? {} : [], property, val; for (var key in obj) { val = obj[key]; // 防止循环引用 if (val === obj) continue; if (Array.isArray(val) || isPlainObject(val)) { target[key] = deepCo 继续阅读 »
2016-08-03 曹强
引用类型 Object类 ```text ECMAScript中的所有类都是由Object类继承而来。 Object类具有下列属性: Constructor:对创建对象的函数的引用(指针),对于Object类,该指针指向原始的Object()函数 Prototype:对该对象的对象原型的引用。 Object类还有几个方法: 1、PropertyIsEnumerable(property):判断给定的属性是否可以用for...in语句进行枚举 2、ToString():返回对象的原始字符串表示。 3、ValueOf():返回最适合该对象的原始值。对于许多类,该方法返回的值都与toString()的返回值相同。 继续阅读 »
2016-07-30 曹强
创建对象 工厂模式 工厂模式优点:有了封装的概念,解决了创建多个相似对象的问题 缺点:没有解决对象识别问题,所有对象都仅是Object的实例 ``` function createPerson(name,age,job) { var o=new Object(); o.name=name; o.age=age; o.job=job; o.sayName=function(){ alert(this.name); }; return o; } var person1=createPerson("Jack",29,"Engineer"); //检测对象类型 继续阅读 »
2015-06-11 AnnatarHe
Finder 是不是发现有些网站不允许选中? 不允许选中是什么意思,也就是说,用户不能对里面的数据进行任何的Ctrl-C这种的操作。 比如我知道一个网站叫批改网 老师可以在里面出英文题目,学生作答。为了防止同学们用神技CVS大法(复制粘贴保存的快捷键) 继续阅读 »
2016-09-10 曹强
前言 命名、抽象、标识是通用设计结构的主要方面,这些设计结构能被用于构造可复用的面向对象设计。设计模式确定所包含的类和实例、它们的角色、协作方式以及职责分配。 每一种设计模式都重点关注一个特定的对象设计问题或者设计要点,描述何时使用它,在另一些约束条件下是否还能使用,以及使用的效果和利弊。由于我们最终要实现设计,设计模式还是提供了示例,代码来阐明其实现。 虽然设计模式描述的是面向对象设计,但是他们都是基于实际的解决方案。这些设计方案的实现语言是主流面向对象的编程语言。 more 设计模式的分类 创建型设计模式 创建型设计模式专注于处理对象创建机制,以适合给定情况下的方式来创建对象,创建对象的基本方法都可能导致项目复杂性增 继续阅读 »