2014年8月13日 星期三
[JavaScript] this
JavaScript裡面的this到底指的是甚麼?很多人都會告訴你this指的是當前對象。這樣理解對嗎?在大多數情況下確實沒錯。比如我們經常會在網頁上寫這樣的JavaScript:
大家看看這個例子:
其實這牽涉到JavaScript的一條重要特性,就是所謂的"閉包(Closure)"。閉包這個概念說複雜也不複雜,但也不是簡單到能用一兩句話說清。現在,我要告訴大家的是,因為閉包的存在,JavaScript中的作用域變得相當重要。
所謂的作用域,簡單的說,就是創意一個函數時在甚麼環境下創建的。而this變數的值,如果沒有指定的話,就是函數當前的作用域。
在前面的例子裡,foo()函數是在全局作用域(這裡)
http://www.cnblogs.com/ruxpinsp1/archive/2008/04/20/1162463.html
<input type="submit" value="提交" onlick="this.value='提交數據'"/>這裡的this顯然指的是當前對象,即這個提交按鈕。通常,我們使用this的情況都與此類似。但是有人麼情況不是這樣的呢?
大家看看這個例子:
var foo = function(){ console.log(this); } foo(); new foo();比較一下foo()和new foo()的執行結果,你會發現,前者的this指向的並非foo本身,而是當前頁面的window對象,而new foo()才真正的指向foo。這是為甚麼呢?
其實這牽涉到JavaScript的一條重要特性,就是所謂的"閉包(Closure)"。閉包這個概念說複雜也不複雜,但也不是簡單到能用一兩句話說清。現在,我要告訴大家的是,因為閉包的存在,JavaScript中的作用域變得相當重要。
所謂的作用域,簡單的說,就是創意一個函數時在甚麼環境下創建的。而this變數的值,如果沒有指定的話,就是函數當前的作用域。
在前面的例子裡,foo()函數是在全局作用域(這裡)
http://www.cnblogs.com/ruxpinsp1/archive/2008/04/20/1162463.html
[JavaScript] About Math
紀錄JavaScript的Math所有的method。
Method | Description |
---|---|
abs(x) | Returns the absolute value of x |
acos(x) | Returns the arccosine of x, in radians |
asin(x) | Returns the arcsine of x, in radians |
atan(x) | Returns the arctangent of x as a numeric value between -PI/2 and PI/2 radians |
2014年8月12日 星期二
[JavaScript] About JavaScript (備份)
http://www.codedata.com.tw/javascript/getting-started/
此網站寫了很多關於JavaScript相關內容,等看完再來整理至Blog。
此網站寫了很多關於JavaScript相關內容,等看完再來整理至Blog。
[JavaScript] About BOM Browser Object Model
書中有提到navigator物件的cookieEnabled特性,卻沒有詳細提到navigator物件的內容,所以上網找資料做功課,有的網站寫navigator是HTML DOM,也有網頁寫是BOM,讓我搞不太清楚到底在講什麼,最後找到一個地方講解的蠻清楚的,navigator及document都是window的子對象。參考來源:http://www.dreamdu.com/javascript/what_is_bom/
什麼是BOM
[Cookie&Session] 基本介紹
由於HTTP協定中stateless的性質,當每一次client在對Server發送request時,前後的要求並不會互相影響,server並不會紀錄之前的狀態,也因此可以使用較少的系統資源來服務較多的client,而要讓server記住client的行為與資料時,就需要cookies與session的協助。
2014年8月11日 星期一
[JavaScript] About Cookie
之前參加職訓局時,老師有提過Cookie及Session,但不知道實際上該如何使用,因工作上也許會使用JavaScript來存取Cookie,所以研究一下Cookie For JavaScript。
JavaScript設定Cookie寫法
JavaScript設定、刪除Cookie最簡易寫法如下:[SQL] About COUNT
平常使用COUNT()時,都是針對某個欄位進行COUNT,計算出該欄位相同的值的筆數(搭配GROUP BY),這次遇到沒看過的COUNT(*),所以上網查一下。
Select Count(*) / Count(1) / Count(欄位名) 的差異:
在T-SQL裡有個Count()函數,使用相當的廣泛,但Select Count(*)、Select Count(1)、Select Count(欄位名稱),這三種寫法有什麼差別?
Select Count(*) / Count(1) / Count(欄位名) 的差異:
在T-SQL裡有個Count()函數,使用相當的廣泛,但Select Count(*)、Select Count(1)、Select Count(欄位名稱),這三種寫法有什麼差別?
[SQL] About SUBSTRING
SQL中有substring,JAVA裡也有substring,我自己很容易把這兩個搞混,這次詳細的上網找找,看其中有什麼不同。
SQL:
SQL 中的 SUBSTRING 函數是用來抓出一個欄位資料中的其中一部分。這個函數的名稱在不同的資料庫中不完全一樣:[SQL] About Limit & Offset
之前所學的SQL資料庫為MS SQLServer,新公司所使用的為Postgre;新進人員必須通過考試,其中考了一題為Limit及Offset用法;《O'REILLY深入淺出-SQL》有提到Limit,沒談到Offset,當然這題就錯了,考完上網查一下其實蠻簡單的,但是不支援SQLServer。至於Limit相當於SQLServer的TOP,至於Offset的話等我查到在做紀錄。
[JavaScript] About Math.random
網路上找到一篇有關於Math.random的文章,Make JavaScript Math.random() useful這篇是由Andrew Penry所寫,他將Javascript中的亂數函式Math.random()使用方式做了詳細說明。下列將原文的例子重新列表一次。
根據Andrew Penry的測試結果,使用floor的方法,各數出現的機率比較平均,所以floor會較好的選擇。
根據Andrew Penry的測試結果,使用floor的方法,各數出現的機率比較平均,所以floor會較好的選擇。
2014年8月8日 星期五
訂閱:
文章 (Atom)