美文网首页
js对象创建及链式调用

js对象创建及链式调用

作者: lesdom | 来源:发表于2019-08-22 08:40 被阅读0次

一、使用对象的原因

不会污染全局环境,和别人协同合作时,不会互相影响。
所以,尽量使用对象来收编变量。

函数也是全局变量

将函数名保存到变量中,你就很容易发现,函数也是全局变量

function checkName () {
  // 验证姓名
}  
var checkName = function () {
  // 验证姓名
}

二、对象的两种方式

方式一

var checkObject = {
  checkName: function () {
    // 验证姓名
  },
}

方式二

var checkObject = function () {};
checkObject.checkName = function () {
  // 验证姓名
}

三、类和原型

真假对象
新创建的对象和函数并没有任何关系

var checkObject = function () {
  return {
    checkName: function () {
      // 验证姓名
    },
  }
}
var a = checkObject();
a.checkName()

var CheckObject = function () {
  this.checkName = function () {
    // 验证姓名
  }
}
var a = new CheckObject();
a.checkName();

原型

var CheckObject = function () {};
CheckObject.prototype.checkName = function () {
  // 验证姓名
}
var a = new CheckObject();
a.checkName();
var CheckObject = function () {};
CheckObject.prototype = {
  checkName: function () {
    // 验证姓名
  },
}
var a = new CheckObject();
a.checkName();

四、函数原生对象

Function.prototype.checkName = function () {
  // 验证姓名
}
var a = function () {};
a.checkName();

var b = new Function();
b.checkName();

上述做法会污染原生对象Function,所以换一种方式添加方法

Function.prototype.addMethod = function (name, fn) {  
  this[name] = fn;
}

var a = function () {};
var b = new Function();

a.addMethod('checkName', function () {
  // 验证姓名
});
b.addMethod('checkEmail', function () {
  // 验证邮箱
});

a.checkName();
b.checkEmail();

五、链式调用

对象

var checkObject = {
  checkName: function () {
    // 验证姓名
    return this;
  },
  checkEmail: function () {
    // 验证邮箱
    return this;
  },
}
checkObject.checkName().checkEmail();

原型

var CheckObject = function () {};
CheckObject.prototype = {
  checkName: function () {
    // 验证姓名
    return this;
  },
  checkEmail: function () {
    // 验证邮箱
    return this;
  },
}
var a = new CheckObject();
a.checkName().checkEmail();

函数原生对象添加方法

Function.prototype.addMethod = function (name, fn) {  
  this[name] = fn;
  return this;
}

var a = function () {};

a.addMethod('checkName', function () {
  // 验证姓名
  return this;
}).addMethod('checkEmail', function () {
  // 验证邮箱
  return this;
});

a.checkName().checkEmail();

网站导航

网站导航

相关文章

  • js对象创建及链式调用

    一、使用对象的原因 不会污染全局环境,和别人协同合作时,不会互相影响。所以,尽量使用对象来收编变量。 函数也是全局...

  • 自制jquery-第一篇

    1, jquery.js脚本文件 2,实现链式调用的原理 非链式调用:$xxx.addClass("active"...

  • js的类和对象的创建与技术

    js的类和对象的创建的技术 一:类和对象的调用 Js代码 二:函数创建对象 this指当前类的属性与java相似(...

  • js链式调用

  • js链式调用

    关键词:链式调用 我们都很熟悉jQuery了,只能jQuery中一种非常牛逼的写法叫链式操作 那这是如何实现的呢,...

  • js链式调用

  • Promise方法运用

    本章涉及以下几点 如何创建一个Promise对象 参数讲解 链式调用 catch()捕捉异常 Promise.al...

  • JQuery

    jq:一个优秀的js库,简化js操作,兼容,提供了大量的方法链式操作原理:jq对象调用jq方法时 当方法执行结束...

  • 用一行Array.filter去重JS数组

    最近在freeCodeCamp上练手js算法题,发现有很多题目可以直接return一个链式调用的对象完成,恰巧赶上...

  • js链式调用 动画

    jquery链式调用: jquery对象的方法会在执行完后返回这个jquery对象,所有jquery对象的方法可以...

网友评论

      本文标题:js对象创建及链式调用

      本文链接:https://www.haomeiwen.com/subject/jorgsctx.html