firemail
标题: 这两种定义方法的区别 [打印本页]
作者: hechengjin 时间: 2015-12-9 14:35
标题: 这两种定义方法的区别
- ////////////////////////////////
- const EXPORTED_SYMBOLS = ['Gloda'];
- var Gloda = {
- _init: function gloda_ns_init() {
- this._initLogging();
- GlodaDatastore._init(this._nounIDToDef);
- this._initAttributes();
- this._initMyIdentities();
- },
-
- /**
- * Maps noun IDs to noun definition dictionaries. (Noun definition
- * dictionaries provided to us at the time a noun was defined, plus some
- * additional stuff we put in there.)
- */
- _nounIDToDef: {},
- };
- try {
- Gloda._init();
- }
- //////////////////////////////
- function PostCommitHandler(aCallbacks) {
- this.callbacks = aCallbacks;
- GlodaDatastore._pendingAsyncStatements++;
- }
- PostCommitHandler.prototype = {
- ..
- };
- -----------------
- 这两种写法的区别?
复制代码
作者: jimu 时间: 2015-12-9 22:20
第二种方法的调用 :
let pcm = new PostCommitHandler(this._pendingPostCommitCallbacks);
对象字面量:
var a={}等同于var a=new Object;
var b=[]等同于var b=new Array;
var c={name:"syj",id:"0"};等同于
var c=new Object;
c.name="syj";
c.id="0";
这下大家明白了吧,其实这样写更加简单,而且节省空间,对javascript这种非编译型语言节省空间也很重要啊。
在文章的最后在举一个或许让很多初学者感到疑问的东西
<script type="text/javascript"> <!-- 代码块 //--> </script>
经常可以看到有人这样写javascript,为什么要加<!-- //-->呢,其实不加也是可以运行的,这是为了兼容不支持javascript浏览器而做的事情,如果浏览器不支持javascript的话加了<!-- //-->页面是不会报错的,现在浏览器都支持了,大可不必这样写了。
作者: jimu 时间: 2015-12-9 22:22
- //对象字面量只能添加静态属性和方法
- var myObject={
- propertyA: sha ,
- propertyB: feng ,
- methodA:function(){
- alert(this.propertyA+ +this.propertyB);
- },
- methodB:function(){}
- }
-
- myObject.methodA();
-
-
- //利用prototype属性可以添加公有属性和方法
-
- function myConstructor2(){}; //声明构造函数,可以使用对象字面量语法来向prototype属性中添加所有公有成员
-
- myConstructor2.prototype={
- propertyA: sha ,
- propertyB: feng ,
- methodA:function(){
- alert(this.propertyA+ +this.propertyB);
- },
- methodB:function(){}
- }
-
- var myconstrustor=new myConstructor2(); //声明对象
- myconstrustor.methodA();
复制代码
欢迎光临 firemail (http://firemail.wang:8088/) |
Powered by Discuz! X3 |