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 应该都为执行函数或者引用函数,这样就不会出现返回失败走成功回调的情况。
     
  • 相关阅读:
    发现个atan2的正确使用方式
    Forward+ Shading架构
    fatal: unable to connect to gitee.com: gitee.com[0: 180.97.125.228]: errno=Unknown error 解决方案
    HDFS HA(高可用性)集群规划
    如何使用RTP引擎对语音编码进行转码
    关于 Angular 应用 tsconfig.json 中的 target 属性
    浅谈 Orbeon form builder 的权限控制
    关于 Angular 应用 tsconfig.json 中的 lib 属性
    orbeon form 通过 url 的方式同第三方应用集成的开发明细
    orbeon form 的配置介绍
  • 原文地址:https://www.cnblogs.com/xhtml5/p/5719067.html
Copyright © 2011-2022 走看看