課程網址:https://www.youtube.com/watch?v=gLX-KVq-6Kc&list=PLhW1K7xGelxefHXPDTfmXtJdyjhwGiXzK&index=9
1. 內建模組函式
(1)Math.ceil(x) ---> 取得一個大於or等於 x的整數中最小的一個
Math.ceil(-1.5) ---->> -1
(2)Math.random( ) ---> 取得一個大於等於 0 並且小於 1 的數 ( 0 <= y < 1 )
Math.random( ) --->> 0.6849
2.函式 function
function( 參數 ){ 執行動作 };
(1)定義一個匿名函式
--->與(2)差別不大,只是用(2)一旦出錯,那個 stacktrace 會告訴你在哪個函式裡出錯。容易debug
(2)直接宣告一個函式
---> 若console.log寫在return下方則不會顯示
(3)參數 (ex: maxValue)
---> 能使code更有彈性
(4) 執行函數裡可放另一組function
-->result
若用console.log
--->result
3.可視範圍scope、執行環境excution context、全域global
結論: 當變數在執行環境找不到值時,便會往上一層找,直到找到為止
(1)範例一
--->在console.log中 who 在執行環境(function)找不到便往上一層(global)找到steph,
n 在執行環境 (function)就找到了。
--->結果:
(2)範例2
--->在console.log中 who 在執行環境(return function)找不到便往上一層,找到了Lebron,
n 在執行環境 (return function)就找到了。
---結果:
(3)範例三
見https://www.youtube.com/watch?v=oSDyY8rItEE&list=PLhW1K7xGelxefHXPDTfmXtJdyjhwGiXzK&index=11
13:11處
--->當Js看到宣告變數var, 他會在他的可視範圍內,將變數宣告var提到最上面,
但宣告值留在原地
4. 函式裡的this
*函式裡的this跟函式被呼叫的時候誰在焦點有關係
*函式裡的this跟函式的定義位置無關
(1)若完全沒有指定則會讀到全域
---> 使用"use strict" 嚴格模式,可避免此情形
(2)呼叫特定函式的值
1. 若想call出 myship 的值
--->test.call(myship)
--->myboat.Location.call(myship)
--->在函數前加 call ,並在參數中填入欲加入的物件
--->結果
5.call back練習
--->當數到7時,執行callme這個函式
--->同時callme這個參數填入為shout,印出"it's seven now"
--->if是為了避免參數填入非函式時,錯誤執行
--->結果
6. 內建函式 setInterval、setTimeout ( 單位毫秒 )
(1)setInterval 每幾秒做一次
setInterval( 執行函式 , 間隔時間 )
(2)setTimeout 幾秒後作那個動作
setTimeout( 執行函式 , 間隔時間 )
沒有留言:
張貼留言