【js学习小计】

本文分享了多个实用的JavaScript编程技巧,包括数组操作、图片预加载、窗口弹出控制等,通过具体示例帮助读者理解和掌握这些技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

var tagData = "varName";
$.post(ajaxPostUrl, eval("({" + tagData + ":1})"));

//$.post(url,{name:value})
//当name为变量时,使用上面的写法

 

//js滚动条到最底端控制

document.getElementByIdx ( 'chatboard').scrollTop=document.getElementByIdx ( 'chatboard').scrollHeight ;

 

function loadImage(url, callback) {
    var img = new Image(); //创建一个Image对象,实现图片的预下载
    img.src = url;
    
    if(img.complete) { // 如果图片已经存在于浏览器缓存,直接调用回调函数
        callback.call(img);
        return; // 直接返回,不用再处理onload事件
    }
    img.onload = function () { //图片下载完毕时异步调用callback函数。
        callback.call(img);//将回调函数的this替换为Image对象
    };
};

//判断图片是否加载完成

 

 

a=[1,2,3,4,5,6,7,8,9,0];
b=[5,6,7];
var c=new Array();
for(var i=0;i<a.length;i++){
    var isEquals=false;
    for(var j=0;j<b.length;j++){
            if(a[i]==b[j]){
                isEquals=true;
                break;
            }
   }
   if(!isEquals)
   {
    c.push(a[i]);
   }
}
alert(c);

//两个数组对比,删除重复的                                   

 

 

var _string = "{name:'ABC',id:1234}";
eval('_obj=' + _string);
console.log(_obj.name,_obj.id);

//字符串转对象

 

function newWindowOpen(url) {
  var left = (screen.width - 600) / 2;
  var top = (screen.height - 400) / 2;
  window.open(url, '_blank', 'toolbar=no, directories=no, status=no, menubar=no, width=600, height=500, top='+top+', left='+left).focus();
}

//不被拦截的window.open

 

$('.wa_traffic_app_alert_ok').unbind("click").bind('click', alertBoxCookieTraffic);
//比较科学的写法,先解除,再绑定,防止重复绑定

 

{"a":1,"b":2}

//往对象中插入新字段

var newObj = {};
newObj = {"a":,"b":2};
newObj.c = 3;

console.log(newObj);

 

//对象数组字符串格式转对象数组,字符串转json

var myString = "[{'name':'xxx'},{'name':'yyy'}]";
var objArray = eval('('+myString+')');

console.log(objArray);

 

//去掉小数点后位数,不四舍五入
var num = 23.454; console.log(num >> 0) //输出:23

 

//删除数组中空元素

Array.prototype.dels=function(n) {
  if(n<0)
  return this;
  else
  return this.slice(0,n).concat(this.slice(n+1,this.length));
}

function formatArr(arr){
  for(var i = arr.length-1;i>=0;i--){
    if(arr[i] =="undefined"|| arr[i]=="" ||!arr[i]){
      arr = arr.dels(i);
    }
  }
  console.log(arr);
}

var arr=['a','b','c','',,,,,'e','g',,,,];
formatArr(arr);

 

//输入内容为空格的判断
/^\s*$/.test(textArea.val())

 

//数字转化为时间格式,如将80转为 01:20
function transToDate(n){
  return parseInt(n/60)+":"+n%60;
}

 

<html>
    <head>
        <script language="javascript" type="text/javascript">
            /** 日期比较 **/
            function compareDate(strDate1,strDate2)
            {
                var date1 = new Date(strDate1.replace(/\-/g, "\/"));
                var date2 = new Date(strDate2.replace(/\-/g, "\/"));
                return date1-date2;
            }
             
            /** 比较 **/
            function doCompare(){
                var strDate1 = document.getElementById("strDate1").value;
                var strDate2 = document.getElementById("strDate2").value;
                var result = compareDate(strDate1,strDate2);
                if ( result>0 ) {
                    alert("strDate1晚于strDate2");
                }else if( result<0 ){
                    alert("strDate1早于strDate2");
                }else if ( result==0 ){
                    alert("strDate1等于strDate2");
                }
            }
        </script>
    </head>
    <body>
        <input type="text" id="strDate1" name="strDate1" value="2012-07-01"/>
        <input type="text" id="strDate2" name="strDate2" value="2012-08-01"/>
        <input type="button" id="compareBtn" name="compareBtn" value="比较" onClick="doCompare();"/>
    </body>
</html>

//日期对比

 

转载于:https://www.cnblogs.com/enone/archive/2012/12/11/2812891.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值