zoukankan      html  css  js  c++  java
  • JS中常见问题

     1 //s金额   n保留几位小数 默认保留两位小数 s代表金额,n代表保留的小数位数
     2 function formatMoney(s, n) {
     3             n = n > 0 && n <= 20 ? n : 2;
     4             s = parseFloat((s + "").replace(/[^d.-]/g, "")).toFixed(n) + "";
     5             var l = s.split(".")[0].split("").reverse(), r = s.split(".")[1];
     6             t = "";
     7             for (i = 0; i < l.length; i++) {
     8                 t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");
     9             }
    10             return t.split("").reverse().join("") + "." + r;
    11 }
     1 //小数点往后移动两位[实际上是*100,但是例如:1.0011*100在JS中结果不对。]
     2 function numberChange(i){
     3     if(i==0){
     4         return 0;
     5     }
     6     var str = i.toString(),len = 0,arr=[],newStr='';
     7     for(var i = 0;i<str.length;i++){
     8         if(str[i]=='.'){
     9             len = i;
    10         }
    11         arr.push(str[i])
    12     }
    13     arr[len] = arr[len+1];
    14     arr[len+1] = arr[len+2];
    15     arr[len+2] = '.';
    16     for(var i = 0;i<arr.length;i++){
    17         newStr+=arr[i];
    18     }
    19     return Number(newStr);
    20 }
     1 //1。获得屏幕的分辨率: 
     2 screen.width 
     3 screen.height 
     4 
     5 //2。获得窗口大小: 
     6 document.body.clientWidth 
     7 document.body.clientHeight 
     8 
     9 //3。获得窗口大小(包含Border、Scroll等元素) 
    10 document.body.offsetWidth 
    11 document.body.offsetHeight  
    12 
    13 
    14 
    15 document.documentElement.clientHeight  //获取当前浏览器窗口可工作高度

     1 //鼠标相对于网页的坐标
     2 function mousePos(e){
     3      var x,y;
     4      var e = e||window.event;
     5      return {
     6           x:e.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,
     7           y:e.clientY+document.body.scrollTop+document.documentElement.scrollTop
     8      };
     9 };
    10 ~function (e){
    11      var e = e||window.event;
    12      alert(‘X:'+mousePos(e).x+’|||Y:'+mousePos(e).y);
    13 }()
    js 中的奇葩问题
    1、eg:000101 = 65; 
    000101为获取到的字符串类型,通过click事件传递,000101变为了65;
    解决方法:jq中直接运行的代码中获取到的000101为字符串类型,但是后边人为运行此代码相关的代码时获取到的000101就为number类型。由此可见在JS中数字前面加0代表此数字为八进制。可以将000101作为属性传递,或者将000101通过代码直接执行时获取到的是字符串的机制来经行判断转换然后再传递,从而在事件中再去获取判断。
    2、执行函数以及引用函数同时出现;
    eg:fun(successCallBack(data),failCallBack);successCallBack和failCallBack都是函数,调用fun函数返回成功时,必然走成功,没有问题,但是返回失败时,必走成功,失败同时也会掉,2个同时执行,所以调用un函数时success 和 fail 应该都为执行函数或者引用函数,这样就不会出现返回失败走成功回调的情况。
     
  • 相关阅读:
    博客添加点线粒子
    获取微信公众号音乐
    Linux 命令汇总
    Hbase 数据导入导出
    scala SimpleDateFormat
    shell 日期加减运算
    selenium获取全部页面的html
    关于EEG参考电极
    反相器和晶振做振荡
    HC系列蓝牙模块连接单片机与电脑,传输数据(蓝牙心电测试)
  • 原文地址:https://www.cnblogs.com/xhtml5/p/5719067.html
Copyright © 2011-2022 走看看