日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

原生JS总结

發(fā)布時(shí)間:2023/12/10 javascript 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 原生JS总结 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

原生JS

    • 第一章
    • 第二十章
    • 第二十一章 函數(shù)進(jìn)階
    • 第二十二章 函數(shù)的三種定義與四種調(diào)用
    • 第二十三章 對象進(jìn)階
    • 第二十四章 回調(diào)函數(shù)
    • 第二十五章 JS之瀑布流
    • 第二十六章 構(gòu)造函數(shù)與普通函數(shù)
    • 第二十七章 公私有變量及鏈?zhǔn)阶饔糜?/li>
    • 第二十八章 閉包
    • 第二十九章 cookie與存儲(chǔ)
    • 第三十章 cookie局限性與其他存儲(chǔ)方式
    • 第三十一章 cookie與session小結(jié)
    • 補(bǔ)充

第一章

1.JS是一種編程語言,主要生成一些特效,完成用戶和頁面的交互2.引入:內(nèi)部腳本外部腳本<script type ="text/javascript" src=""> </script>瀏覽器內(nèi)核:渲染引擎 JS引擎

第二十章

第二十一章 函數(shù)進(jìn)階

1.函數(shù)定義1> 函數(shù)聲明定義:function 函數(shù)名(參數(shù)){代碼塊}2>函數(shù)表達(dá)式定義:沒有函數(shù)標(biāo)識(shí)符,即匿名式函數(shù)表達(dá)式(可綁定變量,事件)var 函數(shù)名 = function(參數(shù)){代碼塊}有函數(shù)標(biāo)識(shí)符,即命名式函數(shù)表達(dá)式var 函數(shù)名 = function 函數(shù)標(biāo)識(shí)符(參數(shù)){代碼塊}函數(shù)名();函數(shù)標(biāo)識(shí)符的局限性:調(diào)用命名式函數(shù)表達(dá)式時(shí),用函數(shù)名+()調(diào)用,函數(shù)標(biāo)識(shí)符只是一個(gè)標(biāo)識(shí)符,不能調(diào)用函數(shù)函數(shù)標(biāo)識(shí)符只有在函數(shù)作用域中有效,在外面無效函數(shù)聲明定義與函數(shù)表達(dá)式定義區(qū)別:聲明定義函數(shù)時(shí),產(chǎn)生聲明提升表達(dá)式定義函數(shù)時(shí),不會(huì)產(chǎn)生聲明提升3>構(gòu)造函數(shù)法定義:var 變量 = new Function("形參1","形參2","方法體")2.void:對給定的表達(dá)式進(jìn)行求值,然后返回undeifedeg:var = void 0;<a href="javascript:void(0)"></a>3.call和apply相同之處:調(diào)用一個(gè)對象的一個(gè)方法不同之處:接收的參數(shù)不一樣,call把參數(shù)按順序傳遞,apply把參數(shù)放在數(shù)組里傳遞4.匿名函數(shù):也叫入函數(shù)優(yōu)先表達(dá)式:(function(){} ())函數(shù)字面量:(function(){}) ()特點(diǎn):1> 不會(huì)污染全局對象2>定義和調(diào)用合為一體

第二十二章 函數(shù)的三種定義與四種調(diào)用

三種定義1> 函數(shù)聲明定義,有聲明提升,不會(huì)自執(zhí)行,而調(diào)用2> 函數(shù)表達(dá)式定義匿名式函數(shù)表達(dá)式命名式函數(shù)表達(dá)式3> 構(gòu)造函數(shù)定義四種調(diào)用和this指向1> 函數(shù)模式調(diào)用:this只想window2> 方法模式調(diào)用:this指向調(diào)用它的對象3> 構(gòu)造函數(shù)模式調(diào)用:this指向新創(chuàng)建的對象4> apply調(diào)用:this指向apply()里的對象,如果apply()沒有參數(shù),則指向window

第二十三章 對象進(jìn)階

創(chuàng)建對象的幾個(gè)方法:1.字面量/自定義創(chuàng)建對象1> 先聲明,后添加2> 聲明時(shí)添加2.原生構(gòu)造函數(shù)形式創(chuàng)建對象eg:var obj = new Object();obj.name = "呵呵"3.工廠模式創(chuàng)建對象4.自定義構(gòu)造函數(shù)創(chuàng)建對象自定義構(gòu)造函數(shù)創(chuàng)建對象與工廠模式創(chuàng)建對象相比的特點(diǎn):1> 函數(shù)首字母為大寫2> 有new操作符3> 沒有return語句4> 可以使用instanceof檢測操作符檢測對象類型5> 沒有顯式的創(chuàng)建對象,而是直接將屬性和方法賦給了this對象

第二十四章 回調(diào)函數(shù)

回調(diào)函數(shù)式一個(gè)函數(shù),它作為個(gè)傳參傳遞給另一個(gè)函數(shù),并在主函數(shù)完成后執(zhí)行回調(diào)與同步,異步?jīng)]有直接的關(guān)系,可以有同步回調(diào),也可以有異步回調(diào)回調(diào)函數(shù)類型:1.DOM事件回調(diào)函數(shù)→同步回調(diào)2.定時(shí)器回調(diào)函數(shù)→異步回調(diào)回調(diào)函數(shù)的參數(shù):1.可以沒有參數(shù)2.有參數(shù),則回調(diào)函數(shù)的參數(shù)作為與回調(diào)函數(shù)同等級的參數(shù)進(jìn)行傳遞1> 參數(shù)寫在主函數(shù)里2> 參數(shù)寫在回調(diào)函數(shù)里

第二十五章 JS之瀑布流

談?wù)勀銓ζ俨剂鞯牧私馄俨剂魇且环N布局,視覺表現(xiàn)為參差不齊的布局,隨著頁面滾動(dòng)條向下滾動(dòng),可以不斷加載數(shù)據(jù)瀑布流特點(diǎn)1.布局:呈現(xiàn)出等寬不等高,參差不齊排序2.隨著頁面滾動(dòng)條向下滾動(dòng),可以不斷加載數(shù)據(jù),無限加載瀑布流的應(yīng)用案例:high購 蘑菇街 京東實(shí)現(xiàn)瀑布流的方式有哪些?有什么優(yōu)缺點(diǎn)1.原生JS:效率高,兼容好,邏輯要求高2.JQ:開發(fā)效率高,運(yùn)行速度快3.C3:開發(fā)效率高,兼容不好從瀑布流的特點(diǎn)出發(fā),瀑布流的底層實(shí)現(xiàn)原理分為兩部分,分為'頁面布局'和'圖片加載'功能





第二十六章 構(gòu)造函數(shù)與普通函數(shù)

原生構(gòu)造函數(shù)語法格式var x = Function('x','y',alert(x+y)')自定義構(gòu)造函數(shù)語法格式function Person(name,age){this.name = namethis.age = age}原生構(gòu)造函數(shù)應(yīng)用1.通過原生構(gòu)造函數(shù)形式創(chuàng)建數(shù)組var arr = new Array()2.通過原生構(gòu)造函數(shù)形式創(chuàng)建對象var obj = new Object()3.通過原生構(gòu)造函數(shù)形式創(chuàng)建時(shí)間var ddate = new Date()4.通過原生構(gòu)造函數(shù)形式創(chuàng)建字符串var str = new String()函數(shù)聲明定義和函數(shù)表達(dá)式定義的函數(shù),在調(diào)用時(shí)有區(qū)別嗎?簡單闡述函數(shù)聲明定義的函數(shù)可以在聲明之前調(diào)用,因?yàn)橛泻瘮?shù)聲明的提升函數(shù)表達(dá)式定義的函數(shù)只能在聲明之后調(diào)用函數(shù)表達(dá)式定義函數(shù)分為兩種,有區(qū)別匿名函數(shù)表達(dá)式和命名式函數(shù)表達(dá)式區(qū)別:匿名式函數(shù)表達(dá)式?jīng)]有函數(shù)標(biāo)識(shí)符命名式函數(shù)表達(dá)式有函數(shù)標(biāo)識(shí)符call和apply區(qū)別:相同之處:調(diào)用一個(gè)對象的一個(gè)方法不同之處:call把參數(shù)按順序傳遞 apply把參數(shù)放在數(shù)組里傳遞

第二十七章 公私有變量及鏈?zhǔn)阶饔糜?/h2> 私有變量:私有的變量外部無法訪問公有變量:外部都可以訪問eg:function Person(){var name = "熊大"; //私有內(nèi)部變量this.age = 20;}var person = new Person();console.log(person,age); => 20console.log(person.name); =>undefined私有函數(shù):外部無法執(zhí)行公用函數(shù):外部都可以訪問執(zhí)行全局變量越多越好嗎?為什么?不好,從變量的生命長度去考慮,全局變量直到頁面關(guān)閉才釋放掉所占用的內(nèi)存,所以全局變量越多占用內(nèi)存越多性能越差,腳本運(yùn)行速度越慢,所以"全局變量是魔鬼"特權(quán)方法:如果想在函數(shù)外部訪問私有變量或私有函數(shù),可以通過構(gòu)造特權(quán)方法變量的鏈?zhǔn)阶饔糜?#xff1a;父對象的所有變量,對子對象都是可見的,反之不成立

第二十八章 閉包

概念:有權(quán)訪問另一個(gè)函數(shù)作用域中變量或私有函數(shù),可以通過構(gòu)造特權(quán)方法類型:閉包是函數(shù)作用:訪問另一個(gè)函數(shù)作用域中的變量原理:通過匿名式函數(shù)把局部變量主流在內(nèi)存里,可以減少全局變量的使用優(yōu)點(diǎn):封裝性,減少了全局變量使用頻率,減少污染缺點(diǎn):由于閉包作用域中返回的局部變量資源不會(huì)被立即回收,所以可能會(huì)占用更多內(nèi)容,會(huì)導(dǎo)致卡頓解除引用:btn = null;

第二十九章 cookie與存儲(chǔ)

cookie的格式:name = value; [expires = date];[path = path];[domain = domain];[secure]寫入cookie:document。cookie = "user = 熊大"編碼:encode URI Component解碼:decode URI Comronent設(shè)置時(shí)間:var date = new Date()date.setDate(date.getDate()+T);document.cookie = "user =" + encode URI Component("熊大")+";expires = "+date"alert(decode URI Component(docunment.cookie));手動(dòng)清理cookie:1.date.setDate(date.getDate()-1)2.date = new Date(0)

第三十章 cookie局限性與其他存儲(chǔ)方式

cookie局限性:1.數(shù)量限制:20個(gè)2.清理方式:每個(gè)瀏覽器都會(huì)清理,方式不一樣3.大小限制:不超過4095字節(jié)4.安全性:將數(shù)據(jù)存儲(chǔ)在客戶端,安全性較低拋出異常:throw new Error()其他存儲(chǔ)方式:1.sessionStorage會(huì)話存儲(chǔ)session Storage.setItem("name","熊大")session Storage.removeItem("name") (移除)alear(session Storage.getItem("name"))2.聽過屬性方式會(huì)話存儲(chǔ)session Storage.name = "熊大"session Storage.removeItem("name") (移除)3.local Storage

第三十一章 cookie與session小結(jié)

1.你對cookie的了解:cookie是一小段文本信息,儲(chǔ)存于客戶端,每當(dāng)用戶訪問站點(diǎn)時(shí),程序都可以讀取包含cookie的信息2.cookie類型:會(huì)話型cookie和持久型cookie3.cookie與session區(qū)別:大小限制,儲(chǔ)存位置,性配,安全性

補(bǔ)充

總結(jié)

以上是生活随笔為你收集整理的原生JS总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。