zoukankan      html  css  js  c++  java
  • sort()

    var arr = [9,5,6,7,4,8,1, 'a', '喜', 2, 'b', '欢', 3, 'c', '你']
    var length=arr.length
    var a,b,bigger
    for (var j = 0; j < length; j++){
    for (var i = 0; i < length -1; i++) {
    if(typeof (arr[i]) == 'string'){
    a = arr[i].charCodeAt()
    }else{
    a = arr[i]
    }
    if(typeof (arr[i+1]) == 'string'){
    b = arr[i+1].charCodeAt()
    }else{
    b = arr[i+1]
    }
    if (a > b) {
    bigger = arr[i]
    arr[i] = arr[i+1]
    arr[i+1] = bigger
    }
    }
    }
    console.log(arr)
                
      var arr=[9,8,7,6,5,4,3,2,1,15,20];
    var len=arr.length;
    console.log(arr.join(","));
    var newarr=[];
    for(var i=0;i<len;i++){
    newarr.push(Math.min.apply(this,arr));
    arr.splice(r(arr,Math.min.apply(this,arr)),1);
    }
    // “变量”用来指定变量,指定的变量可以是数组元素,也可以是对象的属性。
    function r(s,v){
    for(k in s){
    if(s[k] == v){
    return k;
    }
    }
    }
    console.log(newarr)
     
     
    作者:杨志
    链接:https://www.zhihu.com/question/20289071/answer/14644278
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    LZ要先明白存在call和apply的原因,才能记得牢一点:
    在javascript OOP中,我们经常会这样定义:
    function cat(){
    }
    cat.prototype={
    food:"fish",
    say: function(){
    alert("I love "+this.food);
    }
    }


    var blackCat = new cat;
    blackCat.say();

    但是如果我们有一个对象whiteDog = {food:"bone"},我们不想对它重新定义say方法,那么我们可以通过call或apply用blackCat的say方法:blackCat.say.call(whiteDog);

    所以,可以看出call和apply是为了动态改变this而出现的,当一个object没有某个方法,但是其他的有,我们可以借助call或apply用其它对象的方法来操作。

    用的比较多的,通过document.getElementsByTagName选择的dom 节点是一种类似array的array。它不能应用Array下的push,pop等方法。我们可以通过:
    var domNodes = Array.prototype.slice.call(document.getElementsByTagName("*"));
    这样domNodes就可以应用Array下的所有方法了。

  • 相关阅读:
    PHP 操作redis常用方法代码
    PHP 大型网站 高并发大流量解决方案
    Nginx 负载均衡
    maven中mirror与repositories的关系
    Java事件机制---自定义事件
    sql优化几个方面
    临时表的概念
    sql产生临时表
    MySQL rows
    工厂模式 https://www.jianshu.com/p/6dfb5b66d088
  • 原文地址:https://www.cnblogs.com/xfcao/p/8315870.html
Copyright © 2011-2022 走看看