全局變量:函數(shù)外部定義的變量,函數(shù)內(nèi)部和外部都可以訪問艘绍,它的值可以共享
局部變量:函數(shù)內(nèi)部定義的變量,函數(shù)內(nèi)部可以訪問秫筏,外部無法訪問诱鞠。函數(shù)內(nèi)部訪問變量時,先在內(nèi)部查找是否有此變量这敬,如果有航夺,就使用內(nèi)部變量,如果沒有崔涂,就去外部查找
函數(shù)內(nèi)部如果不用'var'關(guān)鍵字定義變量阳掐,變量可能會變成全局變量,如果用嚴(yán)格模式解析會報(bào)錯冷蚂。
函數(shù)用變量方式定義:先定義再使用缭保,提前會報(bào)錯。
閉包的本質(zhì)就是函數(shù)嵌套蝙茶,就是在函數(shù)里面定義函數(shù)艺骂,
內(nèi)部函數(shù)可以引用外部函數(shù)的參數(shù)和變量
參數(shù)和變量不會被垃圾回收機(jī)制給回收
閉包的用途:可以存循環(huán)的索引值、做私有變量計(jì)數(shù)器
//閉包的一般寫法
function aa(b){
var a = 12;
function bb(){
alert(a);
alert(b);
閉包的封閉函數(shù)寫法
var cc = (function(b){
var a = 12;
function bb(){
alert(a);
alert(b);
}
return bb;
})(24);
cc();
1隆夯、document
document.referrer? //獲取上一個跳轉(zhuǎn)頁面的地址(需要服務(wù)器環(huán)境)
2钳恕、location
window.location.href? //獲取或者重定url地址
window.location.search //獲取地址參數(shù)部分
window.location.hash //獲取頁面錨點(diǎn)或者叫哈希值
3、Math
Math.random 獲取0-1的隨機(jī)數(shù)
Math.floor 向下取整
Math.ceil 向上取整
封閉函數(shù)是javascript中匿名函數(shù)的另外一種寫法蹄衷,創(chuàng)建一個一開始就執(zhí)行而不用命名的函數(shù)忧额。
定時器在javascript中的作用
1、制作動畫
2愧口、異步操作
3睦番、函數(shù)緩沖與節(jié)流
定時器類型及語法
/*
? ? 定時器:
? ? setTimeout? 只執(zhí)行一次的定時器
? ? clearTimeout 關(guān)閉只執(zhí)行一次的定時器
? ? setInterval? 反復(fù)執(zhí)行的定時器
? ? clearInterval 關(guān)閉反復(fù)執(zhí)行的定時器
字符串處理方法
1、字符串合并操作:“ + ”
2调卑、parseInt() 將數(shù)字字符串轉(zhuǎn)化為整數(shù)
3抡砂、parseFloat() 將數(shù)字字符串轉(zhuǎn)化為小數(shù)
4、split() 把一個字符串分隔成字符串組成的數(shù)組
5恬涧、charAt() 獲取字符串中的某一個字符
6注益、indexOf() 查找字符串是否含有某字符
7、substring() 截取字符串 用法: substring(start,end)(不包括end)
8溯捆、toUpperCase() 字符串轉(zhuǎn)大寫
9丑搔、toLowerCase() 字符串轉(zhuǎn)小寫