面試小結(三) 使用lua的一些注意事項及優化

2021-10-23 19:30:05 字數 1317 閱讀 8272

1.#table 可以用來判斷乙個陣列的長度,但需要注意的是,若table中包含nil,則不可使用。

2.table.sort同理,需要排序的table必須是1到n連續的,中間不能有nil。

3.盡量使用區域性變數,函式function也是如此,因為在lua裡函式也是乙個變數。區域性變數的訪問會更快,且生命週期外就會被釋放。

4.避免使用table.insert()

方法1:

local a = {}

local table_insert = table.insert

for i = 1,100 do

table_insert( a, i )

end

方法2:

local a = {}

for i = 1,100 do

a[#a+1] = i

end

方法3:

local a = {}

for i = 1,100 do

a[i] = i

end

推薦使用方法3。其中方法3遠優於1,2。而方法1略優於方法2。

5.關於for迴圈的乙個測試(具體原理不知= =)

test1:

local a = {}

for i = 1,1000 do

a[i] = i

endfor i = 1,#a do

print(a[i])

end

test2:

local a = {}

for i = 1,1000 do

a[i] = i

endlocal length = #a

for i = 1,length do

print(a[i])

end

test3:

local a = {}

for i = 1,1000 do

a[i] = i

endfor k,v in pairs(a) do

print(v)

end

test4:

local a = {}

for i = 1,1000 do

a[i] = i

endfor k,v in ipairs(a) do

print(v)

end

說說結果吧,所需時間上4>3>2>1。居然1是最優的。我原以為2應該優於1。不知為何是這種結果。

jquery的一些使用小結

目錄 1 jquery如何判斷兩個元素是否同一物件?2 jquery獲取html標籤,包含該標籤本身?兩個不同的 jquery 物件可能是對同乙個 組 dom 物件的封裝,這個時候可以用is來判斷,比如 var a editor var b editor console.log a b false ...

三 shell的一些注意點

1.使指令碼具有執行許可權 chmod x test.sh 2.shell變數名和等號之間不能有空格,例如 myname zhangsan 3.單引號字串的限制 單引號裡的任何字元都會原樣輸出,單引號字串中的變數是無效的 單引號字串中不能出現單引號 對單引號使用轉義符後也不行 4.bash支援一維陣...

selenimu一些使用注意點

1.從selenium ide1.8.1錄製好指令碼後,轉換成python2 remote control 指令碼,注意例項的名字空格問題。有空格的話,轉換成的python指令碼的類名字,也有空格,這會造成語法問題。解決辦法 用 代替空格。2.如果轉換好的指令碼有中文,往往會報編碼錯誤,non as...