成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Javascript中var引發的問題

開發 前端
MelonCard發布了一篇文章——”how one missing var ruined our launch“(”少寫了一個var毀了我的網站”),這篇文章是說MelonCard用Node.js做后臺,因為出了一個小高峰——有50-100人注冊,結果整個網站都不響應了,而且還出現了很多奇怪的問題。當他們調查到問題的要源的時候,他們發現下面的代碼少寫了一個var。

MelonCard發布了一篇文章——”how one missing var ruined our launch“(”少寫了一個var毀了我的網站”),這篇文章是說MelonCard用Node.js做后臺,因為出了一個小高峰——有50-100人注冊,結果整個網站都不響應了,而且還出現了很多奇怪的問題。當他們調查到問題的要源的時候,他們發現下面的代碼少寫了一個var。

  1. app.all(‘/apps/:user_id/status’, function(req, res, next) { 
  2.     // … 
  3.     initial = extractVariables(req.body); 
  4. }); 

為什么inital少寫一個var會引發這個問題呢?因為如果你不寫var,這個局部的變量會被javascript當成全局變量,而這個變量又是 一個函數,所以,當多用戶并發的時候,這個本應該在不同用戶下互不干擾的變量,成了各個用戶共享的東西。試想,用戶A的數據被用戶B覆蓋了,用戶A和B的 數據還沒處理完,結果被新的C給搞亂了,程序的邏輯自然出現了問題。

在stackoverflow.com上有這么一個貼子說明了“有var”和“無var”的差別:

  1. // These are both globals 
  2. var foo = 1; 
  3. bar = 2; 
  4.   
  5. function test() 
  6.     var foo = 1; // Local 
  7.     bar = 2;     // Global 
  8.   
  9.     // Execute an anonymous function 
  10.     (function() 
  11.     { 
  12.         var wibble = 1; // Local 
  13.         foo = 2; // Inherits from scope above (creating a closure) 
  14.         moo = 3; // Global 
  15.     }()) 

上面這個示例告訴我們,如果你不用var,那么這個js引擎會一層一層地向上找父作用域中的變量,如果找到了,就用,如果找不到了,就會幫你定義一個全局的變量。上面這個例子充分說明了這一點。所以,如果你想在當前的作用域用聲明變量,你一定要用var。這對于一些亂寫javascript代碼的程序員要注意了。這里再給大家介紹一個工具——

 

JSLint( http://www.jslint.com/ ),一個JS代碼質量的分析工具,我們把上述stackoverflow的代碼copy到JSLint這個在線工具中,我們可以看到下面的報告:

這個報告說明了源碼中的那些變量的情況。

原文鏈接:http://coolshell.cn/articles/7480.html

責任編輯:陳四芳 來源: 酷殼網
相關推薦

2015-04-13 09:21:00

JavaScript企業環境中巨大變革

2010-09-02 14:59:23

非授權DHCP

2018-09-05 11:03:37

Memcache頻率限制

2021-02-08 08:04:52

JavaScript語言OOP

2009-07-01 18:24:00

微軟驅動JSP網站開發

2024-02-28 08:12:25

SSE接口代理

2017-09-26 10:00:15

前端JS語法

2010-01-07 11:21:25

2009-02-03 09:30:00

2021-04-08 19:07:54

安全Spring Bootendpoint

2021-11-23 09:00:59

消息堆積擴容RocketMQ

2020-09-30 08:06:39

JavaScript基礎編程

2021-10-13 11:00:27

數據泄露漏洞信息安全

2021-09-07 10:57:30

物聯網安全物聯網IOT

2009-06-30 16:08:19

性能問題代碼寫法

2013-09-30 09:18:39

2023-06-25 08:05:09

MySQL事務并發

2021-04-28 08:34:15

AirTag蘋果精準定位

2020-06-23 08:26:43

深度學習氣候變化AI

2009-06-16 08:48:00

OSPF NSSACCNP
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲视频在线观看 | 蜜桃视频成人 | 免费国产黄网站在线观看视频 | 成人区一区二区三区 | 日本在线视频一区二区 | 亚洲精品黑人 | 久久久久久久久久久久一区二区 | 中文字幕精品一区久久久久 | 中文字幕av网站 | www.日韩系列 | 日韩福利一区 | 亚洲一区国产 | 九一在线观看 | 日韩av成人 | 亚洲日韩中文字幕一区 | 麻豆久久精品 | 在线观看视频h | 免费在线观看黄网站 | 亚洲永久 | 欧美精品在线免费观看 | 国产精品国产三级国产aⅴ浪潮 | 在线播放中文 | 蜜桃视频在线观看免费视频网站www | 视频三区| 国产精品美女久久久久久免费 | a黄在线观看 | 九九色综合 | 国产精品久久久久久久久久免费看 | 国产精品福利一区二区三区 | 密色视频 | 九九热精品在线 | 国产一级视频免费播放 | 在线观看精品 | 欧美成人不卡 | 浮生影院免费观看中文版 | 精品二区| 福利网站导航 | 亚洲综合天堂网 | 亚洲人成网亚洲欧洲无码 | 精品国产乱码久久久久久蜜退臀 | 国产二区精品视频 |