編者按: 本文從stackoverflow收集了JavaScript編程中的常見問題。基於google/baidu/bing翻譯將問題議成了中文,希望在英語表達不地道(特別是中英文夾雜)的情況下,也能檢索到優質內容入口。 JavaScript相關問題非常多,我們會陸續將這些問題做成專輯,分成多篇文章分別展現。本文是其中的第一篇內容。 注: 點擊標題直達英文原版網站(可能比較慢),點擊 ,可以通過本站加速器快速訪問。
1. 如何從異步調用返回響應?[JavaScript] (How do I return the response from an asynchronous call?)
jquery,ajax,asynchronous
我有一個函數foo,它提出了一個Ajax請求。如何從foo返回響應?我試圖從成功回調返回值以及將響應分配給局部變量…
2. JavaScript閉包循環 – 簡單的實例[JavaScript] (JavaScript closure inside loops – simple practical example)
loops,closures
var funcs = []; for(var i = 0; i <3; i ++){//讓我們創建3個函數funcs [i] = function(){//並將它們存儲在funcs console.log “+ i); // each should log …
3. 事件綁定動態創建的元素?[JavaScript] (Event binding on dynamically created elements?)
jquery,events,unobtrusive-javascript
我有一個代碼,其中我循環通過一個頁麵上的所有選擇框,綁定一個.hover事件給他們,做一點twiddling他們的鼠標on / off的寬度。這發生在頁麵準備…
4. 如何在回調中訪問正確的`this`?[JavaScript] (How to access the correct `this` inside a callback?)
callback,this
我有一個構造函數,它注冊一個事件處理程序:function MyConstructor(data,transport){this.data = data; transport.on(’data’,function(){alert(this.data); …
5. 如何在JavaScript中獲取查詢字符串值?[JavaScript] (How can I get query string values in JavaScript?)
url,plugins,query-string
有沒有無插件的方式通過jQuery(或沒有)檢索查詢字符串值?如果是,如何?如果沒有,是否有一個插件可以這樣做?
6. JavaScript閉包是如何工作的?[JavaScript] (How do JavaScript closures work?)
scope,closures
你如何解釋JavaScript閉包給有知識的概念他們包括(例如函數,變量等),但不了解閉包本身?
7. 為什麽我的變量在我修改一個函數內部後不會改變? – 異步代碼引用[JavaScript] (Why is my variable unaltered after I modify it inside of a function? – Asynchronous code reference)
asynchronous
給定以下示例,為什麽在所有情況下,outerScopeVar未定義?var outerScopeVar; var img = document.createElement(’img’); img.onload = function(){outerScopeVar = this.width;}; …
8. 訪問/處理(嵌套)對象,數組或JSON[JavaScript] (Access / process (nested) objects, arrays or JSON)
arrays,object,recursion,data-manipulation
我有一個(嵌套)數據結構包含對象和數組。如何提取信息,即訪問特定或多個值(或鍵)?例如:var data = {code:42,…
9. 客戶端和服務器端編程有什麽區別?[JavaScript] (What is the difference between client-side and server-side programming?)
php,client-side,server-side
我有這個代碼:<script type =“text / javascript”> var foo =’bar’; <?php file_put_contents(’foo.txt’,’+ foo +’); ?> var baz = <?php echo 42; ?>; … …
10. 為什麽jQuery或者一個DOM方法如getElementById找不到元素?[JavaScript] (Why does jQuery or a DOM method such as getElementById not find the element?)
jquery,dom
什麽是document.getElementById,$(“#id”)或任何其他DOM方法/ jQuery選擇器找不到元素的可能原因?示例問題包括:jQuery靜默無法綁定…
11. 規避同源政策的方法[JavaScript] (Ways to circumvent the same-origin policy)
ajax,same-origin-policy
同源策略我想製作一個關於HTML / JS同源政策的社區wiki,希望有助於任何人搜索這個主題。這是SO搜索最多的主題之一…
12. “this”關鍵字如何工作?[JavaScript] (How does the “this” keyword work?)
this
我注意到,似乎沒有明確的解釋這個關鍵字是什麽,它是如何正確(和不正確地)在JavaScript中使用Stack Overflow site.I have …
13. JavaScript中的變量的範圍是什麽?[JavaScript] (What is the scope of variables in JavaScript?)
variables,scope
javascript中的變量的範圍是什麽?它們在內部具有相同的範圍,而不是在函數外部?還是甚麽重要?另外,如果定義了變量,則存儲在哪裏…
14. 什麽是明確的承諾建設反模式,我如何避免呢?[JavaScript] (What is the explicit promise construction antipattern and how do I avoid it?)
promise,q,bluebird,es6-promise
我寫的代碼,看起來像:function getStuffDone(param){| function getStuffDone(param){var d = Q.defer(); / *或$ q.defer * / | return new Promise(…
15. “思考AngularJS”如果我有一個jQuery的背景? [關閉][JavaScript] (“Thinking in AngularJS” if I have a jQuery background? [closed])
jquery,angularjs,design
假設我熟悉在jQuery中開發客戶端應用程序,但現在我想開始使用AngularJS。你能描述必要的範式轉變嗎?這裏有幾個問題…
16. JavaScript函數聲明語法:var fn = function(){} vs function fn(){}[JavaScript] (JavaScript function declaration syntax: var fn = function() {} vs function fn() {})
function,syntax,idioms
我最近開始維護別人的JavaScript代碼。我修複錯誤,添加功能,也試圖整理代碼,使它更一致。以前的開發人員使用兩個…
17. 如何以異步方式上傳文件?[JavaScript] (How can I upload files asynchronously?)
jquery,ajax,asynchronous,upload
我想上傳一個文件與jQuery異步。這是我的HTML:<span>文件</ span> <input type =“file”id =“file”name =“file”size =“10”/> <input id =“uploadbutton”type =“…
18. 使用變量動態訪問對象屬性[JavaScript] (Dynamically access object property using variable)
object,properties
我試圖使用動態名稱訪問對象的屬性。這是可能的嗎?const something = {bar:“foobar! }; const foo =’bar’; something.foo; //這個想法是訪問something.bar,…
19. 原型繼承 – [JavaScript] (Prototypical inheritance – writing up [duplicate])
inheritance,prototype
所以我有這兩個例子,從javascript.info:示例1:var animal = {eat:function(){alert(“I’m full”)this.full = true}} var rabbit = {jump:function {/ * something * / …
20. 在JavaScript比較中應該使用哪個equals運算符(== vs ===)?[JavaScript] (Which equals operator (== vs ===) should be used in JavaScript comparisons?)
operators,equality,equality-operator,identity-operator
我使用JSLint通過JavaScript,並且返回許多建議替換==(兩個等號)與===(三個等號)當做比較idSele_UNVEHtype.value ….
21. 為什麽使用“for … in”與數組迭代一個壞主意?[JavaScript] (Why is using “for…in” with array iteration a bad idea?)
arrays,for-loop
我被告知不要使用在JavaScript中的數組。為什麽不?
22. 如何將變量和數據從PHP傳遞到JavaScript?[JavaScript] (How to pass variables and data from PHP to JavaScript?)
php
我有一個變量在PHP,我需要它的值在我的JavaScript代碼。如何獲取我的變量從PHP到JavaScript?我有如下代碼:<$ php … $ val = $ myService – > …
23. .prop()vs .attr()[JavaScript] (.prop() vs .attr())
jquery,dom,attr,prop
所以jQuery 1.6有新的函數prop()。$(selector).click(function(){//代替:this.getAttribute(’style’); //使用:$(this).prop style’); //或:$(this).attr(’style’…
24. 在JavaScript中解析JSON? [重複][JavaScript] (Parse JSON in JavaScript? [duplicate])
json,parsing
我想在JavaScript中解析一個JSON字符串。響應是類似var response ='{“result”:true,“count”:1}’;我如何獲得值結果和從這計數?
25. 在JavaScript中深層克隆對象的最有效的方法是什麽?[JavaScript] (What is the most efficient way to deep clone an object in JavaScript?)
object,clone
克隆JavaScript對象的最有效的方法是什麽?我見過obj = eval(uneval(o));正在使用,但這是非標準的,隻有Firefox支持。我做了像obj = JSON.parse(…
26. 在哪裏可以找到有關使用JavaScript格式化日期的文檔?[JavaScript] (Where can I find documentation on formatting a date in JavaScript?)
datetime,date
我注意到JavaScript的新Date()函數在接受幾種格式的日期是非常聰明的。Xmas95 = new Date(“25 Dec,1995 23:15:00”)Xmas95 = new Date(“2009 06 12,12:52: 39“)Xmas95 = new …
27. “No”Access-Control-Allow-Origin“頭部存在於所請求的資源上”[JavaScript] (“No ‘Access-Control-Allow-Origin’ header is present on the requested resource”)
cors,restful-authentication,same-origin-policy,flask-restless
我試圖通過連接到RESTful API內置Flask.As結果我使用JavaScript做授權:XMLHttpRequest不能加載http:// myApiUrl / login。 No’Access-Control-Allow-Origin’…
28. event.preventDefault()vs. return false[JavaScript] (event.preventDefault() vs. return false)
jquery,javascript-events,event-handling,event-propagation
當我想防止其他事件處理程序在某個事件觸發後執行,我可以使用兩種技術之一。我將在示例中使用jQuery,但這同樣適用於plain-JS:1。 … …
29. 在JavaScript中驗證電子郵件地址?[JavaScript] (Validate email address in JavaScript?)
regex,validation,email,email-validation
如何使用JavaScript驗證電子郵件地址?
30. 如何在JavaScript / jQuery中重定向到另一個頁麵?[JavaScript] (How do I redirect to another page in JavaScript/jQuery?)
jquery,redirect
如何使用javascript或jQuery將用戶從一個頁麵重定向到另一個頁麵?
31. Javascript臭名昭著的循環問題? [重複][JavaScript] (Javascript infamous Loop issue? [duplicate])
closures
我有以下代碼片段。 function addLinks(){for(var i = 0,link; i <5; i ++){link = document.createElement(“a”); link.innerHTML =“Link”+ i;鏈接….
32. 為什麽document.write被認為是“壞做法”?[JavaScript] (Why is document.write considered a “bad practice”?)
javascript
我知道document.write被認為是不好的做法;我希望編譯一個列表的理由提交給第三方供應商,為什麽他們不應該使用document.write的實現中…
33. AngularJS中範圍原型/原型繼承的細微差別是什麽?[JavaScript] (What are the nuances of scope prototypal / prototypical inheritance in AngularJS?)
angularjs,inheritance,prototype,prototypal-inheritance
API參考範圍頁麵說:範圍可以從父範圍繼承。開發人員指南範圍頁麵說:範圍(原型)從其父範圍繼承屬性。
34. 什麽是JavaScript中的(function(){})()結構?[JavaScript] (What is the (function() { } )() construct in JavaScript?)
iife
我以前知道這是什麽意思,但我現在正在努力…這是基本上說document.onload?(function(){})();
35. JavaScript是傳遞引用還是傳值的語言?[JavaScript] (Is JavaScript a pass-by-reference or pass-by-value language?)
pass-by-reference,pass-by-value
原始類型(Number,String等)通過值傳遞,但對象是未知的,因為它們都可以按值傳遞(如果我們認為持有對象的變量實際上是…)
36. 對象字麵量聲明中的自引用[JavaScript] (Self-references in object literal declarations)
object-literal
有什麽辦法得到類似下麵的工作在JavaScript嗎?var foo = {a:5,b:6,c:this.a + this.b //不工作};在當前形式,代碼顯然拋出…
37. 如何隨機(shuffle)一個JavaScript數組?[JavaScript] (How to randomize (shuffle) a JavaScript array?)
arrays,shuffle
我有一個這樣的數組:var arr1 = [“a”,“b”,“c”,“d”];我怎麽隨機化/ shuffle呢?
38. 如何用JavaScript複製到剪貼板?[JavaScript] (How do I copy to the clipboard in JavaScript?)
clipboard,copy-paste
什麽是複製文本到剪貼板的最好的方法? (多瀏覽器)我試過:function copyToClipboard(text){if(window.clipboardData){// Internet Explorer window.clipboardData ….
39. jQuery Ajax文件上傳[JavaScript] (jQuery Ajax File Upload)
jquery,ajax,post,file-upload
我可以使用以下jQuery代碼使用Ajax請求的post方法執行文件上傳嗎?$。ajax({type:“POST”,timeout:50000,url:url,data:dataString,success:…
40. JavaScript屬性訪問:點表示法與括號?[JavaScript] (JavaScript property access: dot notation vs. brackets?)
javascript
除了明顯的事實,第一種形式可以使用一個變量而不隻是一個字符串字麵量,有任何理由使用一個在另一個,如果是這樣在哪些情況下?
41. 如何在另一個JavaScript文件中包含JavaScript文件?[JavaScript] (How do I include a JavaScript file in another JavaScript file?)
file,import,include
在JavaScript中有類似於@import在CSS中的東西,允許你包括一個JavaScript文件在另一個JavaScript文件?
42. jQuery Ajax POST示例使用PHP[JavaScript] (jQuery Ajax POST example with PHP)
phpjquery,ajax,post
我試圖將數據從表單發送到數據庫。這是我使用的形式:<form name =“foo”action =“form.php”method =“POST”id =“foo”> <label for =“bar”> A bar </ label> 。
43. 為什麽使用JavaScript eval函數是個壞主意?[JavaScript] (Why is using the JavaScript eval function a bad idea?)
performance,security,eval
eval函數是一個強大而簡單的方法來動態生成代碼,所以有什麽注意事項?
44. JSONP是什麽?[JavaScript] (What is JSONP all about?)
json,jsonp
我理解JSON,但不是JSONP。維基百科的JSON文檔是(是)JSONP的頂級搜索結果。它說:JSONP或“JSON with padding”是一個JSON擴展,其中指定了一個前綴…
45. 如何在JavaScript中替換字符串的所有出現?[JavaScript] (How to replace all occurrences of a string in JavaScript?)
replace
我有這個字符串:“測試abc測試測試abc測試測試abc測試測試abc”Doingstr = str.replace(’abc’,”);似乎隻刪除abc在上麵的字符串中的第一次出現。我怎麽能夠 …
46. 什麽querySelectorAll,getElementsByClassName和其他getElementsBy *方法返回?[JavaScript] (What do querySelectorAll, getElementsByClassName and other getElementsBy* methods return?)
getelementsbyclassname,dom-traversal
do getElementsByClassName(和類似的函數像getElementsByTagName和querySelectorAll)與getElementById一樣工作,或返回一個元素數組?我問的原因是因為我…
47. 使用內容腳本將代碼插入頁麵上下文[JavaScript] (Insert code into the page context using a content script)
google-chrome,google-chrome-extension,youtube-api,content-script
我正在學習如何創建Chrome擴展程序。我剛剛開始開發一個,以吸引YouTube活動。我想使用它與YouTube閃光播放器(以後我會盡量使它兼容HTML5)….
48. 代碼和標記的示例圖像Q&As [closed][JavaScript] (Example images for code and mark-up Q&As [closed])
javacss,image
當準備涉及圖像的MCVE / SSCCE時,直接訪問圖像是有用的。可以覆蓋大多數問題的圖像類型是 – 多種顏色或形狀的小圖像,…
49. 如何正確克隆JavaScript對象?[JavaScript] (How do I correctly clone a JavaScript object?)
javascript
我有一個對象,x。我想將其複製為對象y,這樣對y的更改不會修改x。我意識到,複製從內置JavaScript對象派生的對象將導致額外的,不需要的…
50. 對於JavaScript中的每個數組?[JavaScript] (For-each over an array in JavaScript?)
arrays,loops,foreach,iteration
如何使用JavaScript循環遍曆數組中的所有對象?我認為這是這樣的:forEach(對象中的實例)其中對象是我的對象數組,但這似乎是…