代码改变世界

尝试回答js问题

2013-10-18 17:08 by 明朝, 1039 阅读, 0 推荐, 收藏, 编辑
摘要:看到@玉伯的这篇文章《Sea.js 源码解析(三)》给的几个问题,在综合下面的评论,写出自己的总结:我们知道typeof new String("xxx")返回 "object",请问typeof String("xxx")返回什么?为什么? typeof String("xxx")返回的是string。直接调用构造函数Srtring返回的是字面量,和定义一个字面量一样,var str = "xxx"; 当使用new String时候,则创造的是一个对象。像这样: function A(){}; 阅读全文

javascript判断浏览器类型与版本

2013-10-17 16:27 by 明朝, 103 阅读, 0 推荐, 收藏, 编辑
摘要:转自 司徒正美博客:http://www.cnblogs.com/rubylouvre/archive/2009/10/14/1583362.html 阅读全文

javascript小测试

2013-10-09 17:37 by 明朝, 595 阅读, 1 推荐, 收藏, 编辑
摘要:测试地址:http://toys.usvsth3m.com/javascript-under-pressure/ 在群里看到测试网站做着玩,希望你能过关,不能,且看下面答案(为了过关,不惜不够严谨): 第一题: function doubleInteger(i) { // i will be an integer. Double it and return it. //i是一个整数,返回倍数。 //可以用console.log(i)检查i是个什么数值。 i*=2 return i; } 第二题:function isNumberEven(i) { ... 阅读全文

js设计模式--策略模式

2013-09-22 12:11 by 明朝, 314 阅读, 0 推荐, 收藏, 编辑
摘要:策略模式:定义了一系列的算法,把他们封装起来,是它们之间可以互相替换,此模式不会影响到使用算法的客户。回忆下jquery里的animate方法:$( div ).animate( {"left: 200px"}, 1000, 'linear' ); //匀速运动$( div ).animate( {"left: 200px"}, 1000, 'cubic' ); //三次方的缓动这2句代码都是让div在1000ms内往右移动200个像素. linear(匀速)和cubic(三次方缓动)就是一种策略模式的封装。一般用在检验表 阅读全文

js设计模式--迭代器模式

2013-09-17 16:57 by 明朝, 325 阅读, 0 推荐, 收藏, 编辑
摘要:迭代器模式:迭代器模式提供一种方法顺序访问一个聚合对象中各个元素,而又不需要暴露该方法中的内部表示。js中我们经常会封装一个each函数用来实现迭代器。理解的意思:提供一个方法,去把对象的每一项按照一定的方法,访问各个元素。上代码:var agg = ((function(){ var index = 0, arr = [1,2,3,4,5,6], length = arr.length; return { next:function(){ //向下进行 var ele; ... 阅读全文

面试题自我解析

2013-09-17 15:23 by 明朝, 215 阅读, 0 推荐, 收藏, 编辑
摘要:面试题: var foo=1; function Foo() { alert(foo); var foo=2; alert(this.foo); this.foo=3; } var m1=Foo(); var m2=new Foo(); console.log(m1); console.log(m2);这个执行分别是undefined,1,undefined,undefined;为什么呢?当执行到这句:var m1=Foo();函数已经执行,相当于下面这种形式: function Foo() { var foo; //预解析 alert(foo)... 阅读全文

js设计模式--工厂模式

2013-09-16 19:10 by 明朝, 274 阅读, 0 推荐, 收藏, 编辑
摘要:工厂模式:工厂模式的目的是为了创建对象,它经常是在类和类的方法中实现。简单的工厂模式是由一个方法来决定到底要创建哪类的实例,这些实例经常拥有相同的接口,这种模式在所实例化的类型在编译期并不确定,而是在执行期决定的情况。 比如说,你有一家加工厂,生产各类牛奶:三氯氰胺奶粉,酸奶,变质奶,。。等等。当有客户跟你签约生产某种奶粉的时候,你便让工厂生产对应的奶。但如果要求生产牛肉,那肯定没有这个功能。。。 具体上代码:var Car = (function () { var Car = function (model, year, miles) { this.model = mod... 阅读全文

js设计模式--单体模式

2013-09-16 15:48 by 明朝, 241 阅读, 0 推荐, 收藏, 编辑
摘要:GOF里的23种设计模式, 也是在软件开发中早就存在并反复使用的模式. 如果程序员没有明确意识到他使用过某些模式, 那么下次他也许会错过更合适的设计 (这段话来自《松本行弘的程序世界》).单体模式: 单体(Singleton)模式的思想在于保证一个特定类仅有一个实例。当在第二次使用同一个类创建新对象的时候,和第一次创建对象完全相同对象。 当使用new语法通过构造函数来创建对象,仅仅获得的是指向完全相同的对象的新指针: 例:function uniFn(){};var uni1 = new uniFn();var uni2 = new uniFn();uni1.constructor ==... 阅读全文

Python学习一:Python简介

2013-09-13 00:33 by 明朝, 348 阅读, 0 推荐, 收藏, 编辑
摘要:Python简介: Python是目前广泛使用的一门动态语言,类似Java,源代码必须首先由编译器转换成字节码(byte code),然后再由解释器来执行字节码。与Java不同的是,Python的编译器和解释器都是一个程序。因此,源代码也可以直接交给这个编译器/解释器来执行。 使用Python编写程序,你不需要预先声明好变量的类型,因为Python中变量的类型是动态确定的,即动态绑定。 Python是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,简单而有效地实现面向对象编程。Python简洁的语法和对动态输入的支持,再加上解释性语言的本质,使得它在大多数平台上的许多领域都... 阅读全文

Angularjs学习笔记《一》

2013-09-12 18:16 by 明朝, 317 阅读, 0 推荐, 收藏, 编辑
摘要:开始慢慢的学习新的框架,Angularjs,其中原理不知深浅,但有例子练习,慢慢熟知。看的英文文档一点点翻译学习。 第一个例子,写一个增加,选中,删除的例子, 首先要引进所用的框架源码,这样引进,下面的例子用到了underscorejs: 上html代码: 1 2 3 4 共有多少项:{{getLen()}} 5 6 7 {{el.value}} 8 9 10 11 12 add 13 14 remove15 16 ad... 阅读全文