JS中常見問題

来源:http://www.cnblogs.com/xhtml5/archive/2016/07/29/5719067.html
-Advertisement-
Play Games

js 中的奇葩問題 1、eg:000101 = 65; 000101為獲取到的字元串類型,通過click事件傳遞,000101變為了65; 解決方法:jq中直接運行的代碼中獲取到的000101為字元串類型,但是後邊人為運行此代碼相關的代碼時獲取到的000101就為number類型。由此可見在JS中數 ...


 1 //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 應該都為執行函數或者引用函數,這樣就不會出現返回失敗走成功回調的情況。  
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、H5有哪些新特性,移除了哪些元素?如何處理h5新標簽的瀏覽器相容性問題,如何區分html和html5 1. html5不在是SGL(通用標記語言)的一個子集,而包含了:圖像、位置、存儲、多任務等功能 2. 新增的圖像為canvas類,媒體回放video和audio元素;本地離線存儲localSt ...
  • 眾所周知,在jQuery語法中,$符號是jQuery的簡寫方式。但在某些情況下,可能需要在同一個頁面引入其他javascript庫(比如Prototype)。因為$簡短方便,很多的庫也是使用$符號。為了避免名稱衝突,jQuery提供了noConflict()方法來解決這個問題。調用該方法可以把對$標 ...
  • 1.字元串的不可變性 字元串定義了後,會一直占據記憶體空間,企鵝該處記憶體空間(棧)不可被重新賦值。 2.短路運算 ||、&& 二元運算符,返回參與運算的操作數的原值(原數據類型和原數據), 運算結束後,返回導致運算結束的那個操作數。 3.三元運算符 code1?code2:code3; 與if-els ...
  • 1. 基礎實例 說明: (1).react.js:React 的核心庫。 (2).react-dom.js:提供與 DOM 相關的功能。 (3).Browser.js:將 JSX 語法轉為 JavaScript 語法。這一步很消耗時間,實際上線的時候,應該將它放到伺服器完成,操作如下: $ babe ...
  • 前言: chrome 谷歌瀏覽器預設的字體大小為16px;可以通過設置font-size來設置字體大小但是當設置到12px以下的時候字體大小不再改變;對於想設置其他大小的字體就很頭疼,本文參考網上的方法,並對該方法以及原理介紹;並對該方法的弊端進行闡述並提出一種合適的解決辦法 1.適用對象: blo ...
  • css的書寫格式一共有三種 行內樣式:意思是在行內中寫樣式 例如說<p style="color:red">用行內樣式編寫我的顏色</p> 只適用於<body>(字體顏色和背景顏色)和<body>裡面的標簽,但不適用於<body>之外的例如:head,title,之類的標簽 內嵌樣式:使用style ...
  • 眾所周知,一個元素,動往往比靜更吸引眼球; 一套操作界面,合適的動態交互反饋能給用戶帶來更好的操作體驗; 一個H5運營宣傳頁,炫酷的動畫特效定能助力傳播和品牌打造。 近兩年,小到loading動畫,表單動效,大到各式各樣H5運營頁的炫酷展現,“動效設計”一詞可謂是火遍大江南北,而動效設計早已成為一名 ...
  • 宋體 SimSun 黑體 SimHei 微軟雅黑 Microsoft YaHei 微軟正黑體 Microsoft JhengHei 新宋體 NSimSun 新細明體 PMingLiU 細明體 MingLiU 標楷體 DFKai-SB 仿宋 FangSong 楷體 KaiTi 仿宋_GB2312 Fa ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...