js 定义构造函数

var Timeline=function(){
this.order=[];
this.add=function(timeout,func,log){
    this.order.push({
       timeout:timeout,
       func:func,
       log:log
    })
};
this.start=function(ff){
     for(s in this.order){
        (function(me){
            var fn=me.func;
            var timeout=me.timeout;
            var log=me.log;
            timeout=Math.max(timeout-(ff||0),0);

            setTimeout(fn,timeout);
         })(this.order[s])
     }
}
}

  

var s1=new Timeline();
s1.add(1,function(){
    g(‘c_box‘).className=‘c_box c_box_rock‘;
    g(‘c_box‘).onclick=function(){
        s2.start();
    }
})

//图片加载器
var imgs=[‘1.png‘,‘2.png‘,‘3.png‘];

for(s in imgs){
   var img=new Image;
   img.onload=imgs_onload;
   img.src=imgs[s];
}

var imgs_onload=function(){
    imgs.pop();
    if(imgs.length===0){
       s1.start();
    }
}

  

时间: 2024-11-05 13:35:40

js 定义构造函数的相关文章

JS定义类及对象

JS定义类及对象 1.工厂方式 <script type="text/javascript"> function createObject(name){ var p = new Object(); p.name=name; p.say = function(){alert(p.name+'ff');} return p; } var p1 = createObject("p1"); var p2 = createObject("p2"

JS定义类的六种方式详解

转载自: http://www.jb51.net/article/84089.htm 在前端开发中,经常需要定义JS类.那么在JavaScript中,定义类的方式有几种,分别是什么呢?本文就JS定义类的六中方式说明如下(案例说明): 1.工厂方式 ? 1 2 3 4 5 6 7 8 9 10 11 function Car(){ var ocar = new Object; ocar.color = "blue"; ocar.doors = 4; ocar.showColor = fu

js高级构造函数,实例对象和原型对象——prototype、__proto__和constructor构造器

一.前言 了解JavaScript面向对象,需要先了解三个名词: 构造函数,实例对象和原型对象. 注意:JavaScript中没有类(class)的概念,取而代之的是构造函数,两者类似却又有很大的差别. 先上代码,最常用的: function Person(name, age) { this.name = name; this.age = age; this.eat= function() { alert('吃西红柿') } } var person1 = new Person('小米', 28

js 定义像java一样的map方便取值

js 定义像java一样的map方便取值. 百度有位大神说"js对象本身就是一种Map结构",这真是一段让人欢天喜地的代码. <script> //定义一个全局map var map = {}; var key0 = '0'; var key1 = '1'; map[key0] = '0-真实报文'; map[key1] = '1-虚拟报文'; //row 获取这行的值 ,index 获取索引值 function testJsMap(key){ //如果遍历map for(

JS基础——构造函数VS原型函数

JS是一种基于对象的语言,在使用过程中不免遇到复制对象的问题,但通常我们采用的直接赋值'obj1=obj2'这种做法会出现数据覆盖问题.也就是对象引用过程中引用地址一致,导致对象数据被修改的问题.这时我们可以采用工厂模式来对对象进行实例化,从而实现对象的引用地址一致导致的数据覆盖问题.但此时,问题随之又来了,使用工厂模式,对于具体的实例所属的具体对象又搞不清楚,在JS中采用构造方法来解决对象实例的数据覆盖问题(这里和其它语言的原理是类似的). 一.构造函数 在其它语言中接触过构造函数,通常它与类

js定义多行字符串

js本身没有提供类似的定义方式,但是可以通过多行注释(/* */),已经借助function的方式来达到多行字符的定义,例如代码: var jstr = function() { var fun = function() { /*line1 line2 line3 line4*/ } var lines = new String(fun); return lines.substring(lines.indexOf("/*") + 3, lines.lastIndexOf("*

underscore.js定义模板遇到问题:Uncaught TypeError: Cannot read property &#39;replace&#39; of undefined

代码正确缩进位置如下, extend "layout" block 'content',-> div ->'nihao' script id:"InvoiceItem",type:"text/template",style:"display: none",-> div ->"{{price}}" div ->"{{quantity}}" div ->&

js 定义接口的三种方式

js 定义接口有三种方式 : 1.注解描述方式 优点 : 程序有可以有一个参考 缺点 : 还是属于文档的范畴,这种方式太松散,没有检查接口的方法是否完全被实现 /* * interface Composite { * function add(obj); * function remove(obj); * function update(obj); * } */ // CompositeImpl implements Composite var CompositeImpl = function

JS中构造函数与普通函数的区别及JS构造函数、原型和实例的关系

JS中构造函数与普通函数的区别: https://www.cnblogs.com/cindy79/p/7245566.html JS构造函数.原型和实例的关系: https://blog.csdn.net/u012443286/article/details/78823955 JavaScript构造函数及原型对象: https://blog.csdn.net/a153375250/article/details/51083245 原文地址:https://www.cnblogs.com/jim