易截截图软件、单文件、免安装、纯绿色、仅160KB

javascript prototype

 
下面都是个人理解以及查找的网上的资料,如有不对的地方请指正
prototype
prototype在这里是原型的意思,不是指那个框架...
每个函数就是一个对象(Function),当函数被解析后会添加一个prototype的对象,然后prototype会添加一个constructor的属性
它指向那个函数的
比如定义一个function test(){}
它会自动添加一个prototype ; 即test.prototype={}
 然后 prototype会自动添加一个test.prototype.constructor =test  它是指想函数本身的
可以测试一下 例子如下
function test(){
alert('a');
}
alert(test.prototype); //可以看出是obj
test.prototype.constructor(); //可以看出是执行了test

一个类,如何实例化成一个对象了,类里面的prototype里的属性又是怎么成为实例里面的属性的了
这里不得不说一下new 的过程
大概可以分成3步
这个例子可真好呀  哈哈
<1> var p={}; 也就是说,初始化一个对象p。
<2> p.__proto__=Person.prototype;
<3> Person.call(p);也就是说构造p,也可以称之为初始化p。
别人给的一个new的过程
/*
new操作原理(spiderMonkey引擎下)
*/
var a = function(sA,sH){
var x = "x";
this.a = sA;
this.h = sH;
this.say = function(){alert(this.a+','+x)}
}
a.prototype.hi = function(){alert(this.h)}
var createInstance = function(source){
var p = {}
var args = Array.prototype.slice.call(arguments,1);
source.apply(p,args);
p.__proto__ = source.prototype;
return p;
}
var A = createInstance(a,"A","hi A");
A.say();
A.hi();
如一个类 ,new 之后的对象如下
function test(){
this.name="taozi";
}
test.prototype={
sex : "nan"
}
var ss = new test();
/*
ss就相当于
{
name : "nan",
__proto__ : {sex : "nan"}
}
*/
//可以测试一下
alert('-----------我是华丽的分割线');
alert(ss.__proto__ === test.prototype); //记得在firefox下测试 ie下无法访问到__proto__ 可以看到弹出来的是true
 __proto__这个也得介绍一下,它是个好东西.....
每个对象在初始化的时候都会有这么一个属性;
如: (请在firefox下测试)
var test ={};
alert(test.__proto__);  //可以看但弹出的是obj
当有一个对象 假如是test ;查找他的a属


相关文档:

JavaScript 相关 —— 取当前日期

var myDate = new Date();
    myDate.getYear();       //获取当前年份(2位)
    myDate.getFullYear();   //获取完整的年份(4位,1970-????)
    myDate.getMonth();      //获取当前月份(0-11,0代表1 ......

javascript 模拟sleep

需求:模拟表单提交并可设置提交间隔
还好页面是ajax提交的,只要写个js定时提交就ok了。  于是找了几个写的类似于sleep的功能,拿过来用用发现也不是很好用。
自已写了个
<script language="javascript">
var base = {};
......
 base.auto_submit = function(){
   var total = 10 ......

javascript+css 实现tab功能

<!---------<html>
    <head>
        <style type="text/css">
.tabheader table {
  border-collapse: collapse; /* for IE */
  border-spacing: 0; /* for N6 */
}
.tabheader table tr td {mar ......

常用Javascript操作收集

• 小写金额与大写金额联动
<mce:script language="JavaScript"><!--
function daxie()
{
this.values = ["零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"];
this.digits = ["", "拾", "佰", "仟"];
}
function daxie.prototype.getdx(num)
{
if(isNaN(num)) return "";
var number = ......

javascript读取xml实现应用程序菜单效果

/*样式*/
<style type="text/css">
    td{font-size:12px;}
    .item{text-decoration:none;width:100%;height:100%; line-height:22px;cursor:default;color:Black;vertical-align:middle}
    .staticTab{cursor:default;height:22px}
   ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号