js中create方法,create用法及例句

发布时间:2022-11-24

本文目录一览:

  1. JS对象创建常用方式有哪些
  2. JS中new与Object.create()的区别深入解析
  3. 如何使用Createjs来编写HTML5游戏EaselJS简介
  4. createTextRange()方法在js中有什么作用
  5. [js中Ext.create()是什么东西 ? 有什么作用?求解答](#js中Ext.create()是什么东西 ? 有什么作用?求解答)

JS对象创建常用方式有哪些

  1. 对象字面量创建对象
    var obj = { a:1, b:2 };
    

    注意:对象字面量是一个表达式,这种表达式每次运算都会创建并初始化一个新对象,并计算这个新对象的每个属性值。所以如果在循环体内使用对象字面量,每次循环时都会创建新对象。

  2. 通过new运算符创建对象
    var obj = new Object(); // 创建空对象
    var ary = new Array();  // 创建空的数组对象
    

    注意:new运算符后面跟的是一个函数调用,这个函数被称为构造函数。JS中原始类型都包含内置的构造函数,也可以自己定义构造函数。

  3. 通过立即执行函数创建对象
    var obj = (function(){ return {x:1, y:2}; }());
    

    注意:在立即执行函数内部一定要有return语句,return出的内容就是待创建的对象。

  4. 通过Object.create()创建对象
    var obj = Object.create({x:1, y:2});
    

    注意:Object.create()是一个静态函数,传入原型对象就可以创建继承此原型对象的对象,例如上面的例子中obj对象继承了x,y属性。

JS中new与Object.create()的区别深入解析

在网上看了很多关于new与Object.create()的区别的文章,看的稀里糊涂的,各种说法的都有,看“你不懂的JS”那本书上也提到了这个,看的怀疑人生了。遂自己总结下认为比较说的通的一种理解。 new首先创建一个空对象testA,然后改变this调用Test构造函数,最后将新对象的浏览器属性 __proto__ 指向Test的原型。 创建一个临时对象F,最终testB的 __proto__ 指向Test构造函数。 感觉还是没彻底讲清楚。未完待续吧。

如何使用Createjs来编写HTML5游戏EaselJS简介

CreateJS的由来,基础什么的就不说了,就直接说CreateJS的用法吧。 首先到CreateJS官网下载,CreateJS分成EaselJS(图形动画)、PreloadJS(文件加载)、SoundJS(音频控制)以及TweenJS(补间动画)四部分,大家下载的时候,建议下载两个文件,一个是压缩版文件,用于项目中的引用,再下载个源码文件,用于查看用法、API、demo等。因为楼主目前只用了EaselJS和PreloadJS,所以暂时就只说这两个,其实就这两个已经非常够用了。 接下来开始分析代码: 首先引入JS文件:

<script src="easeljs-0.7.1.min.js"></script>
<script src="preloadjs-0.4.1.min.js"></script>

然后进行舞台初始化操作:

function init() {
    stage = new createjs.Stage("cas");
    C_W = stage.canvas.width;
    C_H = stage.canvas.height;
    var manifest = [
        { src: "image/man.png", id: "man" },
        { src: "image/ground.png", id: "ground" },
        { src: "image/bg.png", id: "bg" },
        { src: "image/high.jpg", id: "high" },
        { src: "image/coins.png", id: "coin" }
    ];
    loader = new createjs.LoadQueue(false);
    loader.addEventListener("complete", handleComplete);
    loader.loadManifest(manifest);
    drawLoading();
}

上面就用到了PreloadJS中的方法,实例化一个loader,把需要加载的图片文件放在manifest里面,进行加载,加载完成后调用回调handleComplete函数:

function handleComplete() {
    // 当图片素材load完后执行该方法
    var manImage = loader.getResult("man"),
        lowground = loader.getResult("ground"),
        highground = loader.getResult("high"),
        bgImage = loader.getResult("bg"),
        coins = loader.getResult("coin");
    sky = new createjs.Shape();
    sky.graphics.bf(bgImage).drawRect(0, 0, C_W, C_H);
    sky.setTransform(0, 0, 1, C_H / bgImage.height);
    stage.addChild(sky);
    man = createMan(200, 326, manImage);
    // 该框为判定角色的判定区域
    kuang = new createjs.Shape();
    kuang.graphics.beginStroke("rgba(255,0,0,0.5)").drawRect(0, 0, man.size().w, man.picsize().h * 1.5);
    stage.addChild(kuang);
    mapHandle(lowground, highground, coins);
    createjs.Ticker.timingMode = createjs.Ticker.RAF; // 设置循环方法,可以是requestAnimationFrame或者是setTimeout
    createjs.Ticker.setFPS(30); // 舞台帧率控制
    createjs.Ticker.addEventListener("tick", tick); // 绑定舞台每一帧的逻辑发生函数
    window.addEventListener("keydown", function(event) {
        event = event || window.event;
        if (event.keyCode === 32 && man.jumpNum < man.jumpMax) {
            man.jump();
        }
    });
}

获得加载完成后的图片数据就直接用loader.getResult就可以获取了,跑酷游戏需要一个背景,所以,我们实例化一个sky,然后进行位图绘制,bf方法是beginBitmapFill的缩写,该方法就是开始绘制位图,后面的drawRect是位图的绘制区域,区域当然是整个画布啦,所以就是drawRect(0, 0, C_W, C_H)。实例化出来sky后就直接添加到舞台stage里面就行了。接下来是实例化一个角色,createMan方法后面有说,是自己封装的。 然后进行舞台循环设置,上面有注释了,就不说了。

createTextRange()方法在js中有什么作用

主要是用来对一些文本对象进行操作。比如你有一大段文字,都在同一个P标签内,但是你只希望通过JS改变其中的一小部分,这时就可以用createTextRange来创建Range对象操作文本。因为默认情况下文本只是文本,并不是对象,要想像操作对象那样操作文本,只能是创建为Range对象。这时要操作的文本就具有了对象的功能和特性了。

js中Ext.create()是什么东西 ? 有什么作用?求解答

Ext.create
说明:实例化类,在EXTJS4中建议用create方法实例化类。

Ext.onReady(function () {
    // 创建一个类,类名:TextClass,具有两个属性:A、B
    Ext.define('TextClass', {
        A: 'a',
        B: 'b'
    });
    var textClass = Ext.create("TextClass");
    Ext.Msg.alert('textClass属性', textClass.A + ' ' + textClass.B);
});