with語句用於設定**在特定物件中的作用域。
它的語法:
with(expression)statement
例如:var smessage = "hello";
with(smessage){
alert(touppercase());//輸出"hello"
在這個例子中,with語句用於字串,所以在呼叫touppercase()方法時,瀏覽器將檢查該方法是否是本地的函式。如果不是,它將檢查偽物件smessage,看touppercase是否為該物件的方法,然後alert輸出"hello",因為瀏覽器在解釋程式時找到了字串"hello"的touppercase()方法。
在w3school上的一段**的解釋
提交表單時,執行validate_form方法,並把表單物件作為引數傳入方法中,在validate_form方法中,先判斷validate_required方法,由於該方法是公共的,所以可以直接找到,而作為引數的物件email在當前作用域中不存在,所以需要到thisform這個表單物件的作用域中查詢name屬性是email的表單元素,找到後,執行validate_required方法,在validate_required方法中需要查詢value物件,而在validate_required方法的作用域中找不到value屬性,因此需要到field中查詢(field這時就是name等於email表單元素),field中存在value屬性,如果該屬性的值為空,給出提示資訊並返回false,否則返回true,如果validate_required方法返回true,表單成功提交,如果返回false,email獲得焦點並且表單不提交。
js中this的用法
this是js的乙個關鍵字,隨著函式使用場合不同,this的值會發生變化。但是總有乙個原則,那就是this指的是呼叫函式的那個物件。1 純粹函式呼叫。function test test 其實這裡的this就是全域性變數。看下面的例子就能很好的理解其實this就是全域性物件global。其實這裡的t...
JS中THIS的用法
this 永遠指向函式執行時所在的物件,而不是函式被建立時所在的物件。匿名函式或不處於任何物件中的函式指向 window 例 1var foo foo.bar 輸出 true 2var foo foo.bar 輸出 domwindow 3var foo foobar foo.bar foobar.b...
JS中 的用法
var o var test o.flag 等效於var test o.flag false alert test 由於對null與undefined用 操作符時都會產生true的結果,所以用兩個感嘆號的作用就在於,如果明確設定了o中flag的值 非 null undefined 0 等值 自然te...