2014年8月13日 星期三

[JavaScript] prototype & 物件導向

http://pulipuli.blogspot.tw/2010/09/javascriptprototype.html

[JavaScript] this

JavaScript裡面的this到底指的是甚麼?很多人都會告訴你this指的是當前對象。這樣理解對嗎?在大多數情況下確實沒錯。比如我們經常會在網頁上寫這樣的JavaScript:
<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。

MethodDescription
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 Node.js (備份)

http://www.nodebeginner.org/index-zh-tw.html
一篇關於Node.js的教學文章,備份先

http://nodejs.tw/
使用Node.js的台灣討論區

[JavaScript] About JavaScript (備份)

http://www.codedata.com.tw/javascript/getting-started/
此網站寫了很多關於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最簡易寫法如下:

[JavaScript] About indexOf

對於indexOf(),我自己很少使用到,所以在這邊做個筆記,提醒自己。

範例1:

[SQL] About COUNT

平常使用COUNT()時,都是針對某個欄位進行COUNT,計算出該欄位相同的值的筆數(搭配GROUP BY),這次遇到沒看過的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會較好的選擇。

2014年8月8日 星期五

[JavaScript] About DOM Nodes

The HTML DOM Tree of Objects
DOM節點樹如上圖,這中間如要取值、新增、刪除皆有Method可用,O'Reilly深入簡出JavaScript書內提到的Method有: