2020-01-02 第十六天!

call和apply

<script type="text/javascript">

 /*  call和apply的区别

   二者都可以改变当前的this,区别在于apply方法要将参数放入数组中再传参*/

   function aa(a,b){

      alert('我的this是' + this + ',我的a是' + a + ',我的b是' + b);

}

   aa(2,3);

   aa.call('abc',2,3);//我的this是abc,我的a是2,我的b是3

   aa.apply('abc',[2,3])

call和apply都可以调用函数,可以用修改this  

传参方式不同 call方法将参数直接放在  apply方法要将参数放入数组中再传参

</script>

函数的继承

<script type="text/javascript">

//父类

   function Fclass(name, age){

      this.name = name;

      this.age = age;

}

   Fclass.prototype.showName = function(){

      alert(this.name);

}

   Fclass.prototype.showAge = function(){

      alert(this.age);

}

   //子类

   function Sclass(name, age, job){

   //调用父类的call方法实现属性的继承

      this.job = job;

}

   //方法的继承 (父类的实例赋给子类的原型)

   Sclass.prototype = new Fclass();

   Sclass.prototype.showJob  = function(){

      alert(this.job);

};

   var Driver = new Sclass('tom',18,'老司机')//创建一个子类的实例//

   Driver.showJob();

   Driver.showAge();

   Driver.showName();

</script>

新增选择器

<script type="text/javascript">

window.onload = function(){

   var div1 = document.querySelector('#div1');

   console.log(div1);

   var lis = document.querySelectorAll('.list li');

   console.log(lis.length);//8

}

<div id="div1">这是一个div元素</div>

<ul class="list">

   <li>1</li>

   <li>2</li>

   <li>3</li>

   <li>4</li>

   <li>5</li>

   <li>6</li>

   <li>7</li>

   <li>8</li>

</ul>

</script>

jQuery加载

<script type="text/javascript" src="../js/jquery-1.12.4.min.js"></script>

<script type="text/javascript">

   // alert($);$是jQuery标志 function(a,b){

   //     return new n.fn.init(a,b)

   // }  jQuery的构造函数

   //原生js写法 页面所有节点加载完渲染完

   // window.onload = function () {

   //     var div = document.getElementById('div');

   //     alert(div.innerHTML);// 获取标签里的东西 这是一个div元素

   // };

   //jQuery的完整写法 页面所有节点加载完

   // $(document).ready(function () {

   //     var $div = $('#div');

   //     alert('jquery:' +$div.html);

   // })//实际开发中用ready 不用onload

   //简写方法

   $(function () {

      var $div = $('#div');

      alert($div.html() + '简写');//

   })//一般用简写

</script>

jQuery选择器

<style type="text/css">

   #div1{

      color: red;

   }

   .box{

      color: green;

   }

   .list li{

      margin-bottom: 10px;

   }

</style>

<script type="text/javascript" src="../js/jquery-1.12.4.min.js"></script>

<script type="text/javascript">

   $(function () {

      $('#div1').css({color:'pink'});

      $('.box').css({fontSize:'30px'});

      $('.list li').css({

         backgroundColor:'green',

         // color: '#fff',

         // fontSize: '20',

         // marginBottom:'10px',

      });

   })

</script>

<body>

   <div id="div1">这是一个div元素</div>

   <div class="box">这是第二个div元素</div>

   <ul class="list">

      <li>1</li>

      <li>2</li>

      <li>3</li>

      <li>4</li>

      <li>5</li>

      <li>6</li>

      <li>7</li>

      <li>8</li>

   </ul>

</body>

选择集转移

// $('div').prev('p'); //选择div元素前面的第一个p元素

// $('div').prevAll('p'); //选择div元素前面所有的p元素

// $('div').next('p'); //选择div元素后面的第一个p元素

// $('div').nextAll('p'); //选择div元素后面所有的p元素

// $('div').closest('form'); //选择离div最近的那个form父元素

// $('div').parent(); //选择div的父元素

// $('div').children(); //选择div的所有子元素

// $('div').siblings(); //选择div的同级元素

// $('div').find('.myClass'); //选择div内的class等于myClass的元素

jQuery样式操作

<script type="text/javascript" src="../js/jquery-1.12.4.min.js"></script>

<script type="text/javascript">

$(function(){

      console.log($('.div1').css('fontSize'));//16px读样式

      $('.div1').css({backgroundColor:'red'});写样式

      $('.div1').addClass('big');//添加行间样式

      $('.div1').removeClass('div1');//移除行间样式 删掉div1

   })

</script>

click事件

<script type="text/javascript" src="../js/jquery-1.12.4.min.js"></script>

<script type="text/javascript">

$(function(){

   $('#btn').click(function () {

      $('.box').toggleClass('sty');//切换行间样式 有就删 没有就加  toggle切换

   })

})

</script>

jQuery索引值

<script type="text/javascript" src="../js/jquery-1.12.4.min.js"></script>

<script type="text/javascript">

$(function(){

   $('.list li').click(function () {

      // alert(this.innderHTML);//原生的不能获取索引值

      alert($(this).index());

      // 都是指当前所点的li $this是封装好的

   })

})

</script>

jQuery做选项卡

<script type="text/javascript" src="../js/jquery-1.12.4.min.js"></script>

<script type="text/javascript">

$(function(){

   $('#btns input').click(function () {

      // alert(this);

      $(this).addClass('cur').siblings().

         removeClass('cur');

      alert($(this).index());

      $('#contents div').eq($(this).index()).//eq = 内容区对应的

         addClass('active').siblings().removeClass('active');

      //添加激活的样式 点击哪个按钮对应索引的内容会出现

   })

})

</script>

jQuery属性操作

<script type="text/javascript">

$(function(){

   //innerHTML --> html()

   console.log($('.box').html());//这是一个div元素

   $('.box').html('<a href="http://www.baidu.com">百度网</a>');//不传值就是读 传值就是写

   $('.box').attr({title:'这是一个div!'});

   //console.log($('.box').attr('class'));//box

   var $src = $('#img1').attr('src');

   //alert($src);//imhh/2.jpg

   $('#img').attr({src:'img/1.jpg',alt:'啦啦啦'});//important 机试会考

   alert($('#check').prop('checked'));//Flase

   $('#check').prop({checked:true});//prop看这是的值是true还是false

   // alert($('.box2').html());//<span>这是div元素里的值</span> 有标签

   alert($('.box2').text());//这是div元素里的span  纯文本

})

</script>

jQuery特殊效果

// $('.box').fadeOut();//淡出

// $('.box').fadeIn();//淡入

// $('.box').fadeTogggle();//淡入

$('.box').hide();//隐藏

// $('.box').show();//显示

// $('.box').togggle();//显示隐藏

//

// $('.box').slideDown();//下展

// $('.box').slideUp();//上收

// $('.box').slideTogggle();//上收下展

jQuery动画

<script type="text/javascript" src="../js/jquery-1.12.4.min.js"></script>

<script type="text/javascript">

$(function(){

   $('#div1').animate({

      width:200,

      height:200,

   },1000,function () {

      // alert('动画完了');

      $(this).animate({marginLeft:500})

   });// 默认值swing两边慢中间快 linear 匀速

})

</script>

jQuery循环

<script type="text/javascript" src="../js/jquery-1.12.4.min.js"></script>

<script type="text/javascript">

$(function(){

   $(function () {

      $('.list li').html('111').css({

         backgroundColor:green});

      $('.list li').each(function (index){//each相当于for循环 index是索引

         // alert(index);

         $(this).html(index);

})

})

})

</script>

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,546评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,224评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,911评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,737评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,753评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,598评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,338评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,249评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,696评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,888评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,013评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,731评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,348评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,929评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,048评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,203评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,960评论 2 355

推荐阅读更多精彩内容

  • jQuery加载 // alert($);$是jQuery标志 function(a,b){ // retu...
    MLB1阅读 118评论 0 0
  • call和apply call和apply的区别 二者都可以改变当前的this 默认是window,区别在于a...
    无药可救的渣渣阅读 108评论 0 0
  • 面向对象 单体创建对象 var Tom ={ //属性 name:'tom', age:18, //方法 show...
    张明越阅读 235评论 0 0
  • 一, call和apply call和apply的区别 二者都可以改变当前的this,区别在于apply方法要将...
    用户400826阅读 67评论 0 0
  • 面向过程与面向对象编程 1、面向过程:所有的工作都是现写现用。 2、面向对象:是一种编程思想,许多功能事先已经编写...
    々_18C阅读 370评论 0 0