js 模块
This module provides some JavaScript utilities. All members can be accessed with "cc.js".
类型
索引
属性(properties)
_registeredClassIdsUnknown引擎中已注册的所有类型,通过 ID 进行索引。_registeredClassNamesUnknown引擎中已注册的所有类型,通过名称进行索引。
方法
isNumberCheck the obj whether is number or notisStringCheck the obj whether is string or not....addonCopy all properties not defined in obj from arguments[1...n]mixincopy all properties from arguments[1...n] to objextendBoth classes are just native javascript constructors, not created by cc.Class, sogetSuperGet super classisChildClassOfChecks whether subclass is child of superclass or equals to superclassclearRemoves all enumerable properties from objectisEmptyObjectChecks whether obj is an empty objectgetPropertyDescriptorGet property descriptor in object and all its ancestorsvalueDefine value, just help to call Object.defineProperty.
...getsetDefine get set accessor, just help to call Object.defineProperty(...)getDefine get accessor, just help to call Object.defineProperty(...)setDefine set accessor, just help to call Object.defineProperty(...)getClassNameGet class name of the object, if object is just a {} (and which class named 'Object'), it will return ""...._setClassIdRegister the class by specified id, if its classname is not defined, the class name will also be set.setClassNameRegister the class by specified name manuallyunregisterClassUnregister a class from fireball...._getClassByIdGet the registered class by idgetClassByNameGet the registered class by name_getClassIdGet class id of the objectobsoleteDefines a polyfill field for obsoleted codes.obsoletesDefines all polyfill fields for obsoleted codes corresponding to the enumerable properties of props.formatStrA string tool to construct a string with format string.createMap该方法是对Object.create(null)的简单封装。
Details
属性(properties)
_registeredClassIds
引擎中已注册的所有类型,通过 ID 进行索引。
| meta | description |
|---|---|
| 类型 | Unknown |
| 定义于 | cocos2d/core/platform/js.js:446 |
示例
// save all registered classes before loading scripts
let builtinClassIds = cc.js._registeredClassIds;
let builtinClassNames = cc.js._registeredClassNames;
// load some scripts that contain CCClass
...
// clear all loaded classes
cc.js._registeredClassIds = builtinClassIds;
cc.js._registeredClassNames = builtinClassNames;
_registeredClassNames
引擎中已注册的所有类型,通过名称进行索引。
| meta | description |
|---|---|
| 类型 | Unknown |
| 定义于 | cocos2d/core/platform/js.js:462 |
示例
// save all registered classes before loading scripts
let builtinClassIds = cc.js._registeredClassIds;
let builtinClassNames = cc.js._registeredClassNames;
// load some scripts that contain CCClass
...
// clear all loaded classes
cc.js._registeredClassIds = builtinClassIds;
cc.js._registeredClassNames = builtinClassNames;
方法
isNumber
Check the obj whether is number or not If a number is created by using 'new Number(10086)', the typeof it will be "object"... Then you can use this function if you care about this case.
| meta | description |
|---|---|
| 返回 | Boolean |
| 定义于 | cocos2d/core/platform/js.js:58 |
参数列表
objAny
isString
Check the obj whether is string or not. If a string is created by using 'new String("blabla")', the typeof it will be "object"... Then you can use this function if you care about this case.
| meta | description |
|---|---|
| 返回 | Boolean |
| 定义于 | cocos2d/core/platform/js.js:70 |
参数列表
objAny
addon
Copy all properties not defined in obj from arguments[1...n]
| meta | description |
|---|---|
| 返回 | Object |
| 定义于 | cocos2d/core/platform/js.js:82 |
参数列表
mixin
copy all properties from arguments[1...n] to obj
| meta | description |
|---|---|
| 返回 | Object |
| 定义于 | cocos2d/core/platform/js.js:109 |
参数列表
extend
Derive the class from the supplied base class. Both classes are just native javascript constructors, not created by cc.Class, so usually you will want to inherit using cc.Class instead.
| meta | description |
|---|---|
| 返回 | Function |
| 定义于 | cocos2d/core/platform/js.js:134 |
参数列表
getSuper
Get super class
| meta | description |
|---|---|
| 返回 | Function |
| 定义于 | cocos2d/core/platform/js.js:168 |
参数列表
ctorFunction the constructor of subclass
isChildClassOf
Checks whether subclass is child of superclass or equals to superclass
| meta | description |
|---|---|
| 返回 | Boolean |
| 定义于 | cocos2d/core/platform/js.js:180 |
参数列表
clear
Removes all enumerable properties from object
| meta | description |
|---|---|
| 定义于 | cocos2d/core/platform/js.js:215 |
参数列表
objAny
isEmptyObject
Checks whether obj is an empty object
| meta | description |
|---|---|
| 返回 | Boolean |
| 定义于 | cocos2d/core/platform/js.js:227 |
参数列表
objAny
getPropertyDescriptor
Get property descriptor in object and all its ancestors
| meta | description |
|---|---|
| 返回 | Object |
| 定义于 | cocos2d/core/platform/js.js:240 |
参数列表
value
Define value, just help to call Object.defineProperty.
The configurable will be true.
| meta | description |
|---|---|
| 定义于 | cocos2d/core/platform/js.js:258 |
参数列表
getset
Define get set accessor, just help to call Object.defineProperty(...)
| meta | description |
|---|---|
| 定义于 | cocos2d/core/platform/js.js:282 |
参数列表
get
Define get accessor, just help to call Object.defineProperty(...)
| meta | description |
|---|---|
| 定义于 | cocos2d/core/platform/js.js:312 |
参数列表
set
Define set accessor, just help to call Object.defineProperty(...)
| meta | description |
|---|---|
| 定义于 | cocos2d/core/platform/js.js:335 |
参数列表
getClassName
Get class name of the object, if object is just a {} (and which class named 'Object'), it will return "". (modified from the code from this stackoverflow post)
| meta | description |
|---|---|
| 返回 | String |
| 定义于 | cocos2d/core/platform/js.js:352 |
参数列表
_setClassId
Register the class by specified id, if its classname is not defined, the class name will also be set.
| meta | description |
|---|---|
| 定义于 | cocos2d/core/platform/js.js:439 |
参数列表
setClassName
Register the class by specified name manually
| meta | description |
|---|---|
| 定义于 | cocos2d/core/platform/js.js:478 |
参数列表
unregisterClass
Unregister a class from fireball.
If you dont need a registered class anymore, you should unregister the class so that Fireball will not keep its reference anymore. Please note that its still your responsibility to free other references to the class.
| meta | description |
|---|---|
| 定义于 | cocos2d/core/platform/js.js:495 |
参数列表
constructorFunction the class you will want to unregister, any number of classes can be added
_getClassById
Get the registered class by id
| meta | description |
|---|---|
| 返回 | Function |
| 定义于 | cocos2d/core/platform/js.js:518 |
参数列表
classIdString
getClassByName
Get the registered class by name
| meta | description |
|---|---|
| 返回 | Function |
| 定义于 | cocos2d/core/platform/js.js:529 |
参数列表
classnameString
_getClassId
Get class id of the object
| meta | description |
|---|---|
| 返回 | String |
| 定义于 | cocos2d/core/platform/js.js:539 |
参数列表
obsolete
Defines a polyfill field for obsoleted codes.
| meta | description |
|---|---|
| 定义于 | cocos2d/core/platform/js.js:572 |
参数列表
objAny YourObject or YourClass.prototypeobsoletedString "OldParam" or "YourClass.OldParam"newExprString "NewParam" or "YourClass.NewParam"writableBoolean
obsoletes
Defines all polyfill fields for obsoleted codes corresponding to the enumerable properties of props.
| meta | description |
|---|---|
| 定义于 | cocos2d/core/platform/js.js:606 |
参数列表
objAny YourObject or YourClass.prototypeobjNameAny "YourObject" or "YourClass"propsObjectwritableBoolean
formatStr
A string tool to construct a string with format string.
| meta | description |
|---|---|
| 返回 | String |
| 定义于 | cocos2d/core/platform/js.js:624 |
参数列表
msgString | Any A JavaScript string containing zero or more substitution strings (%s).substAny JavaScript objects with which to replace substitution strings within msg. This gives you additional control over the format of the output.
示例
cc.js.formatStr("a: %s, b: %s", a, b);
cc.js.formatStr(a, b, c);
createMap
该方法是对 Object.create(null) 的简单封装。Object.create(null) 用于创建无 prototype (也就无继承)的空对象。这样我们在该对象上查找属性时,就不用进行 hasOwnProperty 判断。在需要频繁判断 hasOwnProperty 时,使用这个方法性能会比 {} 更高。
| meta | description |
|---|---|
| 返回 | Object |
| 定义于 | cocos2d/core/platform/js.js:673 |
参数列表
forceDictModeBoolean Apply the delete operator to newly created map object. This causes V8 to put the object in "dictionary mode" and disables creation of hidden classes which are very expensive for objects that are constantly changing shape.