国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > JavaScript > 正文

Js操作HTTP Cookie

2020-03-24 17:59:40
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友





谷歌在網(wǎng)頁(yè)未發(fā)布時(shí),不能存放cookie,火狐不存在這樣的問(wèn)題
一般的鍵名不用中文
上面的格式可以換做document.cookie = 'myname='+ data;
注意傳遞的是天數(shù),如果傳遞的是當(dāng)天的話,會(huì)存儲(chǔ)不上設(shè)置cookie過(guò)期時(shí)間,時(shí)間超過(guò)了,cookie并不是被刪除了,只是不進(jìn)行顯示,還是保存在電腦上。這里目前還是沒(méi)有應(yīng)用到,但是肯定很有用
還包含了一種情況,保存的本地磁盤(pán)上,然后再進(jìn)行覆蓋





這是我自己的理解,行間事件中已經(jīng)有要執(zhí)行的函數(shù),代碼執(zhí)行,在全局作用域中找不到該函數(shù),會(huì)報(bào)錯(cuò),但是可以將上面的過(guò)程理解為給onclick屬性賦值,首先賦值為function(){del(this)} ,然后賦值為function(){console.log(this)},報(bào)錯(cuò)的那一步直接別覆蓋了,但是還是不符合邏輯,記得JS代碼只要執(zhí)行到有錯(cuò)誤的地方,就不會(huì)再執(zhí)行了

總結(jié)1:


瀏覽器有一個(gè)監(jiān)聽(tīng)機(jī)制,監(jiān)聽(tīng)事件,常見(jiàn)的事件有onclick、ondblclick、onfocus、onblur,這些都是瀏覽器時(shí)刻監(jiān)聽(tīng)的事件,上面函數(shù)的過(guò)程相當(dāng)于給事件賦值,不過(guò)所賦值為一個(gè)函數(shù),但是也可以理解為一個(gè)值,老師所說(shuō)的JS其實(shí)就是一個(gè)取值與賦值的過(guò)程,上面的過(guò)程很好的解釋了這一點(diǎn)。


上面都是很大膽的嘗試,但是還是對(duì)取值與賦值的理解。可以看到一個(gè)細(xì)節(jié),window.onload=function(){}前面的onload是變色了的。Console.log(window);可以發(fā)現(xiàn)其中的onload值本身就是null



這樣來(lái)書(shū)寫(xiě),并不會(huì)出現(xiàn)錯(cuò)誤,也就證明在btn下也是有一個(gè)類(lèi)似于window下的各種屬性,這只是猜測(cè),因?yàn)樵?a href='http://www.survivalescaperooms.com/tag/kongzhitai_6797_1.html' target='_blank'>控制臺(tái)上值能輸出window的實(shí)行,卻看不到btn下的屬性,這里是可以和動(dòng)態(tài)創(chuàng)建屬性聯(lián)系起來(lái)。


屬性歸屬于對(duì)象,上面的onclick是一個(gè)btn對(duì)象下的屬性,上面的過(guò)程是在屬性里面存了一個(gè)值,而這個(gè)值是一個(gè)匿名函數(shù),然后這個(gè)屬性就變成了一個(gè)匿名函數(shù),然后這個(gè)函數(shù)就可以進(jìn)行調(diào)用,函數(shù)名就是之前的屬性名。屬性其實(shí)和變量沒(méi)有什么區(qū)別,屬性是有一個(gè)對(duì)象歸屬的,就是他前面的對(duì)象,而且有屬性的對(duì)象現(xiàn)在我理解的就是可以看做是元素對(duì)象,對(duì)象后面加上一個(gè)屬性,屬性名就相當(dāng)于變量名,函數(shù)也是一個(gè)數(shù)據(jù)類(lèi)型,之前在學(xué)習(xí)創(chuàng)建變量的時(shí)候,可以在變量中存null,number,string,boolean,undefined,現(xiàn)在的函數(shù)也是一種數(shù)據(jù)類(lèi)型,于是在變量中存入一個(gè)function也是可以的


函數(shù)執(zhí)行到這里相當(dāng)于給btn下的onclick屬性賦值,所賦的值是一個(gè)函數(shù)。于是onclick就變成了一個(gè)函數(shù),
函數(shù)執(zhí)行到這里相當(dāng)于調(diào)用了剛剛在btn里存入的函數(shù)
這里的問(wèn)題和我上面發(fā)現(xiàn)的問(wèn)題是一樣的,初始值是null,只有在存入object類(lèi)型的值時(shí),才可以成功的傳入。下面使用到的是動(dòng)態(tài)創(chuàng)建屬性,在對(duì)象btn下動(dòng)態(tài)創(chuàng)建了一個(gè)屬性,現(xiàn)在是沒(méi)有變量類(lèi)型的要求的,可以傳入任意類(lèi)型的變量值,但是動(dòng)態(tài)創(chuàng)建屬性和上面的對(duì)象已經(jīng)內(nèi)置的屬性是有相似之處的,可以這樣理解。
這就是動(dòng)態(tài)創(chuàng)建屬性,現(xiàn)在在window對(duì)象下多了一個(gè)index屬性,相當(dāng)于之前window下自帶的屬性onload之類(lèi)的。
打印出來(lái)的數(shù)據(jù)類(lèi)型是function,其實(shí)function也是一個(gè)數(shù)據(jù),可以給變量賦值,也可以給屬性賦值,如果是單單的寫(xiě):對(duì)象.屬性,這樣的話返回的就是屬性里面裝的值,也就是屬性值,而在上面給屬性傳的值時(shí)一個(gè)函數(shù),于是就將這個(gè)函數(shù)完整的返回出來(lái)。最后面的情況,對(duì)象.屬性名后面加上(),就相當(dāng)于調(diào)用了函數(shù),這和下面創(chuàng)建的有名函數(shù)由一點(diǎn)區(qū)別,但是還是可以理解的,估計(jì)是默認(rèn)的屬性名就是函數(shù)名。屬性和變量是一樣的,里面可以裝載各種數(shù)據(jù)類(lèi)型的值,function也是一種變量,如果是將function裝進(jìn)了屬性或者是變量,那么這個(gè)屬性或者是變量就變成了一個(gè)函數(shù)
這是對(duì)上面的解釋?zhuān)o變量a傳入了一個(gè)函數(shù),那么a久變成了一個(gè)函數(shù),打印變量,返回的就是函數(shù)的執(zhí)行上下文,下面就相當(dāng)于調(diào)用了函數(shù)a,現(xiàn)在就可以知道,其實(shí)上面的給屬性傳遞一個(gè)函數(shù),和這里是一個(gè)意思,直接使用btn.a(),也就是理所當(dāng)然的了。
直接傳入函數(shù)名,打印出來(lái)的是函數(shù)的執(zhí)行上下文,但是上面再調(diào)用對(duì)象下的函數(shù)時(shí),并不是單純的寫(xiě)函數(shù)名,而是要加上屬性所對(duì)應(yīng)的對(duì)象。
上面的代碼是有兩個(gè)意思,一是給對(duì)象btn的onclick屬性傳遞一個(gè)函數(shù),二是在瀏覽器上調(diào)用的時(shí)候執(zhí)行這個(gè)傳遞的函數(shù),而下面是直接自己調(diào)用上面的函數(shù),二不是瀏覽器來(lái)調(diào)用該函數(shù)。屬性的賦值和取值,變量的賦值和取值,其實(shí)是完全一樣的
上面是取值的過(guò)程,獲得是的函數(shù)的執(zhí)行上下文,下面是賦值的過(guò)程,存在屬性里面的值取出來(lái)賦給a,也就是賦值,將函數(shù)的執(zhí)行上下文賦值給a。
這是整個(gè)分析的重點(diǎn)部分,調(diào)用函數(shù)a,就會(huì)執(zhí)行到console.log(this),打印出來(lái)的是window,現(xiàn)在的this指向已經(jīng)發(fā)生改變
現(xiàn)在是在全局作用域下創(chuàng)建了一個(gè)變量,然后給變量傳入一個(gè)函數(shù),這時(shí)候變量也就變成了函數(shù),然后在全局作用域下執(zhí)行調(diào)用,前面的window是可以省略的。
這是今天所學(xué)最精髓的地方,onclick()是一個(gè)函數(shù),a()是一個(gè)函數(shù),函數(shù)都是由對(duì)象來(lái)調(diào)用的,onclick所歸屬的對(duì)象就是btn,a所歸屬的是對(duì)象是window,就是這么簡(jiǎn)單,amazing!同時(shí)也可以總結(jié)出來(lái)一個(gè)知識(shí)點(diǎn),結(jié)合上面的,在全局作用域下創(chuàng)建了一個(gè)函數(shù)a,該函數(shù)就歸屬于window,然后打印window的時(shí)候就可以看到多了一個(gè)屬性a,屬性值就是該函數(shù)的執(zhí)行上下文,這里是和動(dòng)態(tài)創(chuàng)建屬性是沒(méi)有區(qū)別的,完全一樣。
這是最精簡(jiǎn)的操作,現(xiàn)在在window中也是可以看到新的屬性index,中間的代碼就是省略的步驟,這就是為什么這里和動(dòng)態(tài)創(chuàng)建屬性沒(méi)有一點(diǎn)區(qū)別,真的完全是一樣的。

這是new關(guān)鍵字的影響,只是一個(gè)簡(jiǎn)單的了解
在瀏覽器中的顯示:index:function index() aindex:function()上面的過(guò)程都是在全局作用域下創(chuàng)建了函數(shù),一個(gè)是匿名函數(shù),一個(gè)是有名函數(shù),但是在也可以理解為在window下動(dòng)態(tài)創(chuàng)建了屬性,但是這里有一點(diǎn)跳躍,一個(gè)屬性名為index,一個(gè)為aindex,唯一的區(qū)別就是前者有自己的函數(shù)名
<input type="button" id="btn" html' target='_blank'>value="按鈕" onclick="del(this)" / 這是上面代碼的返回值
現(xiàn)在上面的代碼在點(diǎn)擊的時(shí)候返回的是window
點(diǎn)擊按鈕會(huì)彈出ok,最重要的是知道在解釋器中的代碼是怎么樣的情況,下面的代碼就是解釋器中會(huì)執(zhí)行的代碼,創(chuàng)建了一個(gè)匿名函數(shù),執(zhí)行代碼

行間事件只能調(diào)用全局作用域下的函數(shù)
現(xiàn)在顯示的是window,這是this指向的問(wèn)題,現(xiàn)在也是簡(jiǎn)單的了解
上面這段代碼,用老師上面講的知識(shí),是解釋不通的,現(xiàn)在創(chuàng)建的函數(shù)并不是在全局作用域下,可能是自己的理解出錯(cuò)
點(diǎn)擊按鈕之后會(huì)發(fā)現(xiàn)有一個(gè)函數(shù),就會(huì)向上查找,上面就是全局作用域,在全局作用域中找不到該函數(shù)的創(chuàng)建,就會(huì)報(bào)錯(cuò),這是作用域鏈的問(wèn)題,遵循向上查找。解釋器在加載行間事件的時(shí)候,就會(huì)將行間事件加載到全局作用域下,所以會(huì)有“行間事件只能調(diào)用全局作用域下的函數(shù)”。總結(jié)2:
上面結(jié)果的對(duì)比,window對(duì)象下屬性的屬性值幾乎全是function,而document下幾乎都是具體的值,而且顯示的document對(duì)象是#document,加載的是整個(gè)html文檔封裝函數(shù):創(chuàng)建cookie 、刪除cookie、獲取cookie的value值
現(xiàn)在返回的是空,就算是執(zhí)行了點(diǎn)擊li,也是不會(huì)執(zhí)行釋放的
代碼自動(dòng)執(zhí)行,返回四次空,點(diǎn)擊無(wú)效
每次點(diǎn)擊,a就會(huì)被重新賦值,這樣的話,就實(shí)現(xiàn)了理想的累加效果上面的問(wèn)題就是函數(shù)在執(zhí)行完之后,變量會(huì)被釋放的問(wèn)題,這樣在函數(shù)執(zhí)行時(shí)保存在函數(shù)里面的值,每次都會(huì)被釋放,在函數(shù)外面打印也就是無(wú)效的。還有一點(diǎn)就是上面的模式是很像的,在dom下通常會(huì)使用一個(gè)for來(lái)添加事件,為的是提供一個(gè)i的值,找到指定的子元素,與傳統(tǒng)的for循環(huán)是有區(qū)別的。而且這里和循環(huán)是沒(méi)有一點(diǎn)聯(lián)系的。上面的的代碼可以理解為,在事件函數(shù)內(nèi)部,變量是不會(huì)被釋放的,但是一旦出了事件函數(shù)保存的變量就會(huì)被釋放。還有就是定義出事值得問(wèn)題,看了這么多的代碼,感覺(jué)遇到這樣的模式,代碼都是一樣的,定義的初始值總是在事件函數(shù)的外部,這里的理解可以和for循環(huán)是一樣的,因?yàn)橹暗膄or循環(huán)也是將初始的變量放在外面,唯一的區(qū)別就是在for循環(huán)中,變量是不會(huì)被釋放的,出來(lái)for循環(huán)也還是會(huì)訪問(wèn)到原來(lái)的變量。
代碼執(zhí)行完,每次點(diǎn)擊li的話,只會(huì)執(zhí)行,中間的一段代碼,而下面的代碼console.log(getCookie())是不會(huì)被執(zhí)行到的,只有是再次刷新界面才會(huì)得到自己想要的打印值

下面的寫(xiě)法是自己試出來(lái)的,但是很經(jīng)典,按照代碼的執(zhí)行順序,自己試可以理解的,如果積累足夠多的經(jīng)驗(yàn)的話,相信一切都會(huì)變的簡(jiǎn)單。
這是很基礎(chǔ)的知識(shí),但是自己還是不會(huì),二者返回的都是oK ,上面包含了隱式類(lèi)型轉(zhuǎn)換,這是最基礎(chǔ)的知識(shí)。

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 厦门市| 英吉沙县| 大埔县| 林甸县| 都兰县| 兖州市| 宁国市| 黄大仙区| 炉霍县| 柘荣县| 同江市| 金沙县| 五莲县| 栾川县| 克山县| 东乌珠穆沁旗| 香港| 报价| 合江县| 林西县| 鹿邑县| 四川省| 界首市| 云安县| 桂林市| 岑溪市| 威海市| 浦江县| 澄城县| 凯里市| 建宁县| 招远市| 琼海市| 蒙山县| 湄潭县| 克东县| 南川市| 侯马市| 吉木乃县| 普安县| 天门市|