全局變量:函數外部定義的變量,函數內部和外部都可以訪問,它的值可以共享
局部變量:函數內部定義的變量,函數內部可以訪問,外部無法訪問。函數內部訪問變量時,先在內部查找是否有此變量,如果有,就使用內部變量,如果沒有,就去外部查找
函數內部如果不用'var'關鍵字定義變量,變量可能會變成全局變量,如果用嚴格模式解析會報錯。
函數用變量方式定義:先定義再使用,提前會報錯。
閉包的本質就是函數嵌套,就是在函數里面定義函數,
內部函數可以引用外部函數的參數和變量
參數和變量不會被垃圾回收機制給回收
閉包的用途:可以存循環(huán)的索引值、做私有變量計數器
//閉包的一般寫法
function aa(b){
var a = 12;
function bb(){
alert(a);
alert(b);
閉包的封閉函數寫法
var cc = (function(b){
var a = 12;
function bb(){
alert(a);
alert(b);
}
return bb;
})(24);
cc();
1、document
document.referrer? //獲取上一個跳轉頁面的地址(需要服務器環(huán)境)
2、location
window.location.href? //獲取或者重定url地址
window.location.search //獲取地址參數部分
window.location.hash //獲取頁面錨點或者叫哈希值
3、Math
Math.random 獲取0-1的隨機數
Math.floor 向下取整
Math.ceil 向上取整
封閉函數是javascript中匿名函數的另外一種寫法,創(chuàng)建一個一開始就執(zhí)行而不用命名的函數。
定時器在javascript中的作用
1、制作動畫
2、異步操作
3、函數緩沖與節(jié)流
定時器類型及語法
/*
? ? 定時器:
? ? setTimeout? 只執(zhí)行一次的定時器
? ? clearTimeout 關閉只執(zhí)行一次的定時器
? ? setInterval? 反復執(zhí)行的定時器
? ? clearInterval 關閉反復執(zhí)行的定時器
字符串處理方法
1、字符串合并操作:“ + ”
2、parseInt() 將數字字符串轉化為整數
3、parseFloat() 將數字字符串轉化為小數
4、split() 把一個字符串分隔成字符串組成的數組
5、charAt() 獲取字符串中的某一個字符
6、indexOf() 查找字符串是否含有某字符
7、substring() 截取字符串 用法: substring(start,end)(不包括end)
8、toUpperCase() 字符串轉大寫
9、toLowerCase() 字符串轉小寫