js問題學習

2022-05-09 04:00:08 字數 1193 閱讀 8542

1.前言為了node.js做準備,js的基本功還是很重要的。所以正值1024程式設計師節的時候所以找了些題目,整理了一下知識點。這篇文章感覺**太多,難免枯燥,所以文章最後留了個彩蛋給讀者。

2.簡單**

**

function foo();

var p = ;

(p.foo=o.foo)();

分析

經常可以看到這樣的**

(function() else else , i*1000);

分析

閉包有個重要的作用就是,在內層函式引用外層函式定義的變數時,外層函式的變數不會被會被持久化。

這裡有個隱藏陷阱就是for迴圈結束之後i仍然自增了1。

結果

11.偽閉包

function foo(){

console.log(a);

function bar () {

var a = 3;

foo();

var a = 2;

bar();

分析

閉包是函式的巢狀定義,而不是函式的巢狀呼叫。

結果

2
思考

如何輸出3?

function bar () {

function foo(){

console.log(a);

var a = 3;

foo();

var a = 2;

bar();

var obj = {

name: 'zdl',

do: function(){

console.log(this.name);

寫個物件a繼承obj的方法(不使用new)。

JS學習中遇到的問題

1.js給input text文字框 第一種賦值不能及時在文字框展示出來,但是f12除錯可以看到,value已經賦值。第二種沒問題。現在不知道什麼原因。這樣不行 var html n n n 正在為您自動跳轉,也可以手動返回 n n 5秒後自動跳轉.n 返回 n n n n n dialog buy...

JS問題彙總

1.使用servlet生成驗證碼時,訪問 imgcode即可得到新的驗證碼,實現重新整理驗證碼時務必要使請求url鏈結有變化才可生效,如 src imgcode.do?rand math.random imgcode.do 或 imgcode.do?則無效 否則不會向伺服器重新發出請求。docume...

js引號問題

這是問題是在使用easyui datagrid控制項時候遇到的。如下所示 這裡如果row.uuid是數字,呼叫edit 方法是沒有問題的,但是如果換位字串那麼問題就來了,xx undefined 因為js會把這裡的row.uuid認為乙個變數,所以會報這個錯誤。好,解決方法就是將row.uuid用引...