原型

说一个原型的实际应用

1 jQuery和zepto的简单使用
2 zepto如何使用原型
3 jQuery如何使用原型
4 zepto的语法本来就是模仿jQuery的语法

jQuery如何使用原型的

简单使用
<p>jQuery test 1</p>
<p>jQuery test 1</p>
<p>jQuery test 1</p>

<div id="div1">
   <p>jquery test in div</p>
 </div>

// 虽然实例不同但是构造函数是一样的
<script   src="......"></script>
<script>
   var  $p = $('p')
   $p.css('color','red')  //css原型方法
   console.log($p.html())  //html是原型方法

//当多个实例可以共用一套方法的时候说明这些方法都是来自一个构造函数的原型中的
    var   $div1 = $("#div1")
    $div1.css('color','blue') //css是原型属性
    console.log($div1.html())  //html是原型方法
</script>

zepto如何使用原型的

///空对象
var   zepto = {}

zepto.init = function (selsector) { 
      //源码中,这里的处理情况比较复杂,但因为本次只针对原型,因此这里就弱化了
      var   slice = Array.prototype.slice
      var   dom = slice.call(document.querySelectorAll(selector))
      return  zepto.Z(dom,selector)
 }
//即使用zepto时候的$
var   $ = function(selector) { 
    return   zepto.init(selector)
 }




$.fn = { 
    constructor:zeptor.Z,
    css:function(key,value){
     },
     html: function (valur) { 
      
      }
 }
zepto.Z.prototype = Z.prototype = $.fn



(funtion(window){ 
    var  zepto = {}
funcion Z(dom,selector) { 
      return  new  Z(dom,selector)
 }
 
 zepto.init  = function (selector) {
      var   slice = Array.prototype.slice
      var   dom = slice.call (document.querySelectorAll(selector))
      return  zepto.Z(dom.selector)
  } 
var  $ = function(selector) { 
     return  zepto.init(selector)
 }
 window.$ =$
 })(window)

原型如何体现它的扩展性

JS中的new()到底做了什么?

1 创建一个新的对象
2 this指向这个对象
3 执行构造函数中的代码(为这个新对象添加属性)
4 返回新对象

jquery如何使用原型

var  jQuery = function (selector) { 
      //注意new关键字,第一步就找到了构造函数
      return   new jQuery.fn.init(selector);
 }
//定义构造函数
var  init = jQuery.fn.init = function (selector){ 
     var slice = Array.prototype.slice
     var  dom = slice.call(document.querySelectorAii(selector))
     
      var  i, len = dom?dom.length:0
      for(i=0;i<len;i++) this[i]= dom[i]
      this.length = len
      this.selector  = selector || ''
 }

原型的实际应用(面试)

1 描述一下jQuery如何使用原型
2 描述一下zepto如何使用原型
3 再结合自己的项目经验,说一个自己开发的经验

如何体现原型的扩展性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值