總結(jié)小程序?
1?小程序是微信全新定義的規(guī)范,是基于xml+js的赃绊,不支持也不兼容HTML既峡,兼容受限的部分CSS寫法。
2 ?在項(xiàng)目中微信小程序的優(yōu)化
? ??????一碧查、將所有的接口放在統(tǒng)一的js文件中并導(dǎo)出
·????二运敢、在app.js中創(chuàng)建封裝請(qǐng)求數(shù)據(jù)的方法 會(huì)導(dǎo)致第一次加載數(shù)據(jù)過(guò)慢
? ? ? 三、在子頁(yè)面中調(diào)用封裝的方法請(qǐng)求數(shù)據(jù)
3 小程序頁(yè)面?zhèn)髦档姆椒?/p>
? ? 一忠售、給HTML元素添加data-*屬性來(lái)傳遞我們需要的值传惠,然后通過(guò)e.currentTarget.dataset或onload的param參數(shù)獲取。但data-名稱不能有大寫字母和不可以存放對(duì)象
二稻扬、設(shè)置id 的方法標(biāo)識(shí)來(lái)傳值通過(guò)e.currentTarget.id獲取設(shè)置的id的值,然后通過(guò)設(shè)置全局對(duì)象的方式來(lái)傳遞數(shù)值
三卦方、在navigator中添加參數(shù)傳值
4小程序的雙向綁定和vue哪里不一樣?
小程序直接this.data的屬性是不可以同步到視圖的泰佳,必須調(diào)用:
this.setData({????????? noBind:true???})
5 文件結(jié)構(gòu)分析
①app.js? 這里面是存放了用戶數(shù)據(jù)信息
②app.json?? 先看到pages? 這里面是存放了配置文件? 第一個(gè)默認(rèn)為首頁(yè)? window 里面存放了title標(biāo)題? 有顏色和樣式等等
③app.wxss? 這里面就是存放了一些樣式? 可以把它看做一個(gè)css文件
④project.config.json? 個(gè)人感覺像是存放了一些項(xiàng)目配置文件(里面第一行寫的就是項(xiàng)目配置文件...哈哈哈哈)
6 小程序的優(yōu)化
盼砍?????
其他的就是一些小程序的使用方法
7 小程序啟動(dòng)過(guò)程
作者:崽崽不哭
鏈接:http://www.reibang.com/p/38680d955c19
來(lái)源:簡(jiǎn)書
簡(jiǎn)書著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請(qǐng)聯(lián)系作者獲得授權(quán)并注明出處逝她。
本月我們所學(xué)小程序的內(nèi)容和Vue的基本思路都非常的相似 只要學(xué)過(guò)Vue基本上學(xué)習(xí)的微信小程序的就比較輕松
1.首選先去微信小程序浇坐。微信公眾平臺(tái)上面去注冊(cè)一個(gè)微信小程序開發(fā)的資格? ? 網(wǎng)址 https://mp.weixin.qq.com/cgi-bin/wx
2.小程序API網(wǎng)址?https://developers.weixin.qq.com/miniprogram/dev/api/
3.下載微信小程序開發(fā)者工具??
4.創(chuàng)建微信小程序項(xiàng)目??
5.微信小程序上的所有功能都能在API網(wǎng)址上面能*夠找到
6.其微信小程序里面的頁(yè)面和之前我們寫的項(xiàng)目的格式有所不同??
? ? 創(chuàng)建項(xiàng)目之后出現(xiàn)四個(gè)文件??
? js文件:js文件創(chuàng)建了我們自動(dòng)創(chuàng)建了我們的所有鉤子函數(shù) 我們的js操作都是寫在這頁(yè)面? ??
?json文件 在這個(gè)文件可以控制我們頭部上的標(biāo)題等一系列功能
wxml文件:這個(gè)就是在頁(yè)面展示我們所寫的內(nèi)容 在功能上的處理都是傳入的js文件上進(jìn)行處理的? ?
? wxss文件? :這個(gè)文件就是把我們所有的樣式都寫入這文件里面? ?
一個(gè)總的app.json這是一個(gè)非常重要的文件 當(dāng)我們創(chuàng)建文件一個(gè)會(huì)在app.json里面自動(dòng)創(chuàng)建一個(gè)路徑? 我們頁(yè)面跳轉(zhuǎn)和微信小程序里面的小圖標(biāo)都是放在這個(gè)文件里面? 如果想把頁(yè)面放在第一個(gè)就把a(bǔ)pp.json里面的路徑放到第一個(gè)上面去
vue??
1.vue雙向數(shù)據(jù)綁定的原理??
2.懶加載的原理
3.動(dòng)態(tài)創(chuàng)建路由
4.路由傳值
5vueX基本講解
6.vue的axios的get和post請(qǐng)求的區(qū)別
7.vue的11個(gè)生命周期鉤子函數(shù)? ??
8。mock.js的作用就是在后臺(tái)沒(méi)有發(fā)送個(gè)前臺(tái)數(shù)據(jù)的時(shí)候黔宛,可以先模擬出數(shù)據(jù)進(jìn)行操作
es5和es6的區(qū)別
let const? 和 字符串模板
let有塊級(jí)作用域
class
promise
Promise 是異步編程的一種解決方案近刘,比傳統(tǒng)的解決方案——回調(diào)函數(shù)和事件——更合理和更強(qiáng)大。它由社區(qū)最早提出和實(shí)現(xiàn)臀晃,ES6 將其寫進(jìn)了語(yǔ)言標(biāo)準(zhǔn)觉渴,統(tǒng)一了用法,原生提供了Promise對(duì)象积仗。
所謂Promise,簡(jiǎn)單說(shuō)就是一個(gè)容器蜕猫,里面保存著某個(gè)未來(lái)才會(huì)結(jié)束的事件(通常是一個(gè)異步操作)的結(jié)果寂曹。從語(yǔ)法上說(shuō),Promise 是一個(gè)對(duì)象回右,從它可以獲取異步操作的消息隆圆。Promise 提供統(tǒng)一的 API,各種異步操作都可以用同樣的方法進(jìn)行處理翔烁。
Promise對(duì)象有以下兩個(gè)特點(diǎn)渺氧。
(1)對(duì)象的狀態(tài)不受外界影響。Promise對(duì)象代表一個(gè)異步操作蹬屹,有三種狀態(tài):pending(進(jìn)行中)侣背、fulfilled(已成功)和rejected(已失敯谆)。只有異步操作的結(jié)果贩耐,可以決定當(dāng)前是哪一種狀態(tài)弧腥,任何其他操作都無(wú)法改變這個(gè)狀態(tài)。這也是Promise這個(gè)名字的由來(lái)潮太,它的英語(yǔ)意思就是“承諾”管搪,表示其他手段無(wú)法改變。
(2)一旦狀態(tài)改變铡买,就不會(huì)再變更鲁,任何時(shí)候都可以得到這個(gè)結(jié)果。Promise對(duì)象的狀態(tài)改變奇钞,只有兩種可能:從pending變?yōu)閒ulfilled和從pending變?yōu)閞ejected澡为。只要這兩種情況發(fā)生,狀態(tài)就凝固了蛇券,不會(huì)再變了缀壤,會(huì)一直保持這個(gè)結(jié)果,這時(shí)就稱為 resolved(已定型)纠亚。如果改變已經(jīng)發(fā)生了塘慕,你再對(duì)Promise對(duì)象添加回調(diào)函數(shù),也會(huì)立即得到這個(gè)結(jié)果蒂胞。這與事件(Event)完全不同图呢,事件的特點(diǎn)是,如果你錯(cuò)過(guò)了它骗随,再去監(jiān)聽蛤织,是得不到結(jié)果的。
注意鸿染,為了行文方便指蚜,本章后面的resolved統(tǒng)一只指fulfilled狀態(tài),不包含rejected狀態(tài)涨椒。
有了Promise對(duì)象摊鸡,就可以將異步操作以同步操作的流程表達(dá)出來(lái),避免了層層嵌套的回調(diào)函數(shù)蚕冬。此外免猾,Promise對(duì)象提供統(tǒng)一的接口,使得控制異步操作更加容易囤热。
Promise也有一些缺點(diǎn)猎提。首先,無(wú)法取消Promise旁蔼,一旦新建它就會(huì)立即執(zhí)行锨苏,無(wú)法中途取消疙教。其次,如果不設(shè)置回調(diào)函數(shù)蚓炬,Promise內(nèi)部拋出的錯(cuò)誤松逊,不會(huì)反應(yīng)到外部。第三肯夏,當(dāng)處于pending狀態(tài)時(shí)经宏,無(wú)法得知目前進(jìn)展到哪一個(gè)階段(剛剛開始還是即將完成)。
如果某些事件不斷地反復(fù)發(fā)生驯击,一般來(lái)說(shuō)烁兰,使用?Stream?模式是比部署Promise更好的選擇。
字符串的擴(kuò)展
includes(), startsWith(), endsWith()
箭頭函數(shù)
ES6標(biāo)準(zhǔn)新增了一種新的函數(shù):Arrow Function(箭頭函數(shù))沪斟。
為什么叫Arrow Function?因?yàn)樗亩x用的就是一個(gè)箭頭:
x => x * x
上面的箭頭函數(shù)相當(dāng)于:
function(x){returnx * x;}
在繼續(xù)學(xué)習(xí)箭頭函數(shù)之前暇矫,請(qǐng)測(cè)試你的瀏覽器是否支持ES6的Arrow Function:
'use strict';
console.log('你的瀏覽器支持ES6的Arrow Function!');
?Run
箭頭函數(shù)相當(dāng)于匿名函數(shù)主之,并且簡(jiǎn)化了函數(shù)定義。箭頭函數(shù)有兩種格式李根,一種像上面的槽奕,只包含一個(gè)表達(dá)式,連{ ... }和return都省略掉了房轿。還有一種可以包含多條語(yǔ)句粤攒,這時(shí)候就不能省略{ ... }和return:
解構(gòu)賦值
global
ES5 的頂層對(duì)象,本身也是一個(gè)問(wèn)題囱持,因?yàn)樗诟鞣N實(shí)現(xiàn)里面是不統(tǒng)一的夯接。
瀏覽器里面,頂層對(duì)象是window纷妆,但 Node 和 Web Worker 沒(méi)有window盔几。
瀏覽器和 Web Worker 里面,self也指向頂層對(duì)象掩幢,但是 Node 沒(méi)有self逊拍。
Node 里面,頂層對(duì)象是global粒蜈,但其他環(huán)境都不支持顺献。
同一段代碼為了能夠在各種環(huán)境旗国,都能取到頂層對(duì)象枯怖,現(xiàn)在一般是使用this變量,但是有局限性能曾。
全局環(huán)境中度硝,this會(huì)返回頂層對(duì)象肿轨。但是,Node 模塊和 ES6 模塊中蕊程,this返回的是當(dāng)前模塊椒袍。
函數(shù)里面的this,如果函數(shù)不是作為對(duì)象的方法運(yùn)行藻茂,而是單純作為函數(shù)運(yùn)行驹暑,this會(huì)指向頂層對(duì)象。但是辨赐,嚴(yán)格模式下优俘,這時(shí)this會(huì)返回undefined。
不管是嚴(yán)格模式掀序,還是普通模式帆焕,new Function('return this')(),總是會(huì)返回全局對(duì)象不恭。但是叶雹,如果瀏覽器用了 CSP(Content Security Policy,內(nèi)容安全策略)换吧,那么eval折晦、new Function這些方法都可能無(wú)法使用。
js
1.閉包?
閉包就是在函數(shù)外部能夠訪問(wèn)函數(shù)內(nèi)部的變量? 簡(jiǎn)單的來(lái)說(shuō)就是 函數(shù)套函數(shù)? 閉包的好處就是在函數(shù)內(nèi)部的局部變量不會(huì)執(zhí)行完之后就銷毀
壞處就是內(nèi)存占用過(guò)大 內(nèi)存泄漏? 主要用在插件封裝 和 面向?qū)ο? ? 一般情況下我們不推薦使用閉包
2.跨域
跨域是因?yàn)槲覀兊耐床呗?同域名 同端口 同協(xié)議? 跨域問(wèn)題只是針對(duì)于瀏覽器? 在后臺(tái)請(qǐng)求數(shù)據(jù)就沒(méi)有跨域問(wèn)題? 跨域有三種解決方案
1在后臺(tái)的時(shí)候直接寫一個(gè)header 頭就能解決?
2.前后端的配合使用? jsonp? ?但是這個(gè) jsonp本身與ajax并沒(méi)有任何的關(guān)聯(lián)? 只是在這時(shí)候使用它?
3.后臺(tái)請(qǐng)求并沒(méi)有跨域這一說(shuō) 訪問(wèn)別的數(shù)據(jù)的時(shí)候 創(chuàng)建一個(gè)公共的數(shù)據(jù)庫(kù)? 然后把數(shù)據(jù)拿過(guò)啦發(fā)送給前臺(tái)就可以了
3.作用域
全局作用域: 最外層函數(shù)定義的變量擁有全局作用域式散,即對(duì)任何內(nèi)部函數(shù)來(lái)說(shuō)筋遭,都是可以訪問(wèn)的
局部作用域:和全局作用域相反,局部作用域一般只在固定的代碼片段內(nèi)可訪問(wèn)到暴拄,而對(duì)于函數(shù)外部是無(wú)法訪問(wèn)的漓滔,最常見的例如函數(shù)內(nèi)部
4? Undefined==null ’ ’’==0 1==true 0==false// 除了上述的幾個(gè)返回值為true,其余全為false
5.parseint強(qiáng)制轉(zhuǎn)換為取整形 parsefloat強(qiáng)制轉(zhuǎn)換為浮點(diǎn)型? number強(qiáng)制轉(zhuǎn)換為數(shù)值? ?
8.原型?
Es6之前乖篷,js是一種弱類型語(yǔ)言响驴,實(shí)現(xiàn)對(duì)?對(duì)象屬性或方法的擴(kuò)展與繼承;
9..原型鏈
當(dāng)我們獲取一個(gè)對(duì)象的屬性或方法的時(shí)候撕蔼,如果其本身沒(méi)有豁鲤,那么就通過(guò)__proto__往上找,知道null為止鲸沮;
10.在click事件不推薦使用 會(huì)有300的延遲
11.阻止默認(rèn)事件 preventDefault? ?阻止冒泡事件? ?stop.propagation
12 默認(rèn)event? 兼容的方法? ? e ||windwo.event??
13 ajax? 和? socket的區(qū)別??
Ajax是單向請(qǐng)求數(shù)據(jù)?是客戶端向服務(wù)端請(qǐng)求數(shù)據(jù)琳骡,服務(wù)端才會(huì)主動(dòng)給客戶端發(fā)送數(shù)據(jù);是單輪循讼溺,是單工通信楣号;
Socket是雙向請(qǐng)求數(shù)據(jù),客戶端可以向服務(wù)端請(qǐng)求數(shù)據(jù),服務(wù)端也會(huì)主動(dòng)給客戶端推送消息炫狱,是多輪循藻懒,是雙工通信,可以跨域通信视译;