- 浏览: 8415 次
- 性别:
- 来自: 广州
最新评论
文章列表
作者: 阮一峰
我一直很难理解Javascript语言的继承机制。
它没有"子类"和"父类"的概念,也没有"类"(class)和"实例"(instance)的区分,全靠一种很奇特的"原型链"(prototype chain)模式,来实现继承。
我花了很多时间,学习这个部分,还做了很多笔记。但是都属于强行记忆,无法从根本上理解。
直到昨天,我读到法国程序员Vjeux的解释,才恍然大悟,完全明白了Javascript为什么这样设计。
《parctical common lisp》的作者曾说,如果你需要一种模式,那一定是哪里出了问题。他所说的问题是指因为语言的天生缺陷,不得不去寻求和总结一种通用的解决方案。
不管是弱类型或强类型,静态或动态语言,命令式或说明式语言、每种语言都有天生的优缺点。一个牙买加运动员, 在短跑甚至拳击方面有一些优势,在练瑜伽上就欠缺一些。
术士和暗影牧师很容易成为一个出色的辅助,而一个背着梅肯满地图飞的敌法就会略显尴尬。 换到程序中, 静态语言里可能需要花很多功夫来实现装饰者,而js由于能随时往对象上面扔方法,以至于装饰者模式在js里成了鸡肋。
讲javascript设计模式的书 ...
关于URL编码
作者: 阮一峰
一、问题的由来
URL就是网址,只要上网,就一定会用到。
字符编码笔记:ASCII,Unicode和UTF-8
作者: 阮一峰
今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料。
结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点,才算初步搞清楚。
下面 ...
3.1屏蔽键盘所有键
<script language="javascript">
<!--
function document.onkeydown(){
event.keyCode = 0;
event.returnvalue = false;
}
-->
</script>
3.2 屏蔽鼠标右键
在body标签里加上oncontextmenu=self.event.returnvalue=f ...
function a() {
var aa = 1;
function b() {
aa = 2;
var aa = 3;
alert("b:" + aa);
}
b();
alert("a:" + aa);
}
a();
只要变量aa有一个用var声明,aa就是b的本地变量。
function a() {
var aa = 1;
function b() {
aa = 2;
//var aa = 3;
alert("b:" + aa);
}
b();
alert("a:&q ...
一、prototype和__proto__的概念
prototype是函数的一个属性(每个函数都有一个prototype属性),这个属性是一个指针,指向一个对象。它是显示修改对象的原型的属性。
__proto__是一个对象拥有的内置属性(请注意:prototype是函数的内置属性,__proto__是对象的内置属性),是JS内部使用寻找原型链的属性。
用chrome和FF都可以访问到对象的__proto__属性,IE不可以。
二、new 的过程
关于__proto__和prototype的一些理解
js 正则
\b:/\bW3/ 表示"W3"在单词前面,/W3\b/表示"W3"在单词后面。英文解释:A word boundary。
\B:/\BW3/ 表示"W3"不在单词前面,即在中间和在后面都符合,/W3\b/表示"W3"不在单词后面,即在前面和在中间都符合。
\0:NUL值。
\f:换页符。
\v:查找垂直制表符。
\xxx:查找以八进制数 xxx 规定的字符。例:/\127/g表示查找ascII码值为127八进制数,对应的十进制值为87,即是'W'
\xdd:查找以十六进制数 dd 规定的 ...
正则表达式30分钟入门教程
http://www.jb51.net/tools/zhengze.html
版本:v2.33 (2013-1-10) 作者:deerchao 转载请注明来源
目录
跳过目录
本文目标
如何使用本教程
正则表达式到底是什么东西?
入门
测试正则表达式
元字符
字符转义
重复
字符类
分枝条件
在 JavaScript 里使用 typeof 来判断数据类型,只能区分基本类型,即 “number”,”string”,”undefined”,”boolean”,”object” 五种。对于数组、函数、对象来说,其关系错综复杂,使用 typeof 都会统一返回 “object” 字符串。
要想区别对象、数组、函数单纯使用 typeof 是不行的。或者你会想到 instanceof 方法,例如下面这样:
var a = {};
var b = [];
var c = function () {};
//a b c 都是 Object 的实例
console.log(a in ...
caller返回一个函数的引用,这个函数调用了当前的函数;callee放回正在执行的函数本身的引用,它是arguments的一个属性,感兴趣的你可以参考下或许可以帮助到你
Caller
caller返回一个函数的引用,这个函数调用了当前的函数。
使用这个属性要注意:
1 这个属性只有当函数在执行时才有用2 如果在javascript程序中,函数是由顶层调用的,则返回nullfunctionName.caller: functionName是当前正在执行的函数。
JQuery上传插件Uploadify并传参数(一)
jQueryServletJavaScriptApacheCSS
Uploadify是JQuery的一个上传插件,实现的效果非常不错,进度显示或者速度显示都可以!
官方 : http://www.uploadify.com/
同时。。我已经使用最新版写 ...
JavaScript 中,考查如下代码:
Js代码
(function()
{
alert("cftea");
})();