day 12

1-var str = “hgDzGHjhcxghvcgxzhjzcgjhxzgcjhgsduyfuys”将字符串中出现次数最多的字母弹框输

var str = “hgDzGHjhcxghvcgxzhjzcgjhxzgcjhgsduyfuys”;

  var obj = {};
  var arr = [];
  var letter;
  for(var i = 0,len = str.length;i<len;i++){
  letter = str[i];
  if(!obj[letter]){ // 第一次放进去
  obj[letter] = 1;
  }else{
  obj[letter]++;
  }
  }
  var max_key,max_num=0;
  for(key in obj){
  if(max_num <obj[key]){
  max_num = obj[key];
  max_key = key;
  }
  }

  alert('弹出:'+max_key);

2-举例实现对象的深拷贝
 //深拷贝 复制,把一个对象中的属性或方法复制到另外的对象中
        //要求在另外的对象中开辟空间,在把属性复制过来

        var obj1 = {
            age: 10,
            sex: '男',
            hobbies: ['赛车', '打游戏', '听歌'],
            dog: {
                name: '克劳斯',
                weight: 10,
                color: 'black'
            }
        }

        var obj2 = {}
            //通过函数,把a中属性复制到b中
        function copy(a, b) {
            //先去获取a中的属性
            for (var key in a) {
                var item = a[key]
                    //判断item是那种数据类型
                if (item instanceof Array) {
                    //如果是数组,b中要添加新属性,这个属性也是数组形式
                    b[key] = []
                        //遍历数组,把a[key]一个一个的复制到b[key]中
                    copy(item, b[key])
                } else if (item instanceof Object) {
                    b[key] = {}
                    copy(item, b[key])
                } else {
                    //普通数据直接复制
                    b[key] = item
                }

            }
        }
        copy(obj, obj2)
        console.dir(obj1)
        console.dir(obj2)
3-举例实现对象方法的继承

  function Animal(wight, color) {
  this.wight = wight;
  this.color = color;
  }
  Animal.prototype.eat = function() {
  console.log("吃");
  }

  //Cat的构造函数
  function Cat( /*weight, color, */ sex) {
  // this.weight = weight;
  // this.color = color;
  this.sex = sex;
  }
  // Cat.prototype.eat = function() {
  // console.log("猫吃");
  // }
  //改变cat的原型指向,指向Animal,这时Animal和Cat就有关系了
  Cat.prototype = new Animal(100, "red");
  Cat.prototype.catch = function() {
  console.log("抓老鼠");
  }

  var cat = new Cat("男");
  console.log(cat.wight);
  console.log(cat.color);
  console.log(cat.sex);

4-写一个左中右布满全屏,其中左右固定宽度 200px,中间部分自适应,要求先加载中间部
分,写出结构和样式
使用对左右分别使用float:left和float:right,float使左右两个元素脱离文档流,中间元素正常在正常文档流中,使用margin指定左右外边距对其进行一个定位。

#leftDiv,#rightDiv{
width: 200px;
height: 200px;
}
#leftDiv{
background: #16A05D;
float: left;
}
#rightDiv{
background: #DC5044;
float: right;
}
#centerDiv{
background: #FFCD41;
height: 200px;
margin: 0 200px;
}

<body>
<div id="leftDiv">左边div</div>
<div id="rightDiv">右边div</div>
<div id="centerDiv">中间div</div>
</body>

5-封装一个 jqery 的插件

$.extend({
sayHello: function(name) {
console.log('Hello,' + (name ? name : 'Dude') + '!');
}
})
$.sayHello(); //调用
$.sayHello('test'); //带参调用

posted @ 2021-02-09 20:29  王颜桑  阅读(36)  评论(0)    收藏  举报