學習vue之第四天

2021-09-28 13:51:49 字數 1818 閱讀 4782

今天學習了:

主要介紹兩種經常混淆的字串擷取方法:substring和substr

(1)substring

作用:用於提取字串中介於兩個指定下標之間的字元

語法:substring(start,end)

語法解析:start開始和end結束的位置,從零開始的索引,包頭不包尾

(1)substring驗證

1、只有乙個引數(自動輸出後面所有字元)

2、start > end 當讀取位置大於結束位置的時候,substring會自動調整位置

3、start = end

4、start<0 或者 end<0

5、正常取值start(2)substr

定義:返回字串的乙個子串,傳入引數是起始位置和長度

(2)substr驗證

1、只有乙個引數,正整數(自動輸出後面所有字元)

2、只有乙個引數,正整數且start為負數

如果start為負數,則start=str.length+start

3、兩個引數,length 為 0 或負數

返回乙個空字串

4、兩個引數,length為正整數(包頭包尾)

什麼是計算屬性?

通過之前章節,已經可以搭建乙個簡單的vue應用,在模板裡雙向繫結一些資料或者表示式。

計算屬性緣由:

模板內的表示式是非常便利的,但是它們實際上只用於簡單的運算,如果在模板裡放入太多的邏輯會讓模板過於臃腫且難以維護。

注意:1、this—在建構函式中,訪問本身方法時,需要利用this代表自身,去指向對應的方法和資料。

2、寫法上類似於函式,呼叫時類似於屬性,所以起名為計算屬性

3、顧名思義,首先它是一種屬性,其次它有「計算」這個特殊性質。每次取得它的值得時候,它並不像普通屬性那樣直接返回結果,而是經過一系列的計算之後再返回結果。

計算屬性快取vs方法

1、計算屬性是基於他們的依賴進行快取的

2、計算屬性只有在它的相關依賴發生改變時才會重新計算(改變才會重新計算,如果不改變情況下連續多次呼叫時,會發現不會再次呼叫該方法)

3、同個方法在不同介面可能呼叫多次,如果使用方法呼叫,則每次呼叫都會將複雜演算法執行一次,浪費效能;

簡介:除了計算屬性,vue 提供了一種通用的方式來觀察和響應 vue 例項上的資料變動:偵聽屬性/器、觀察者。

通俗理解:

當vue例項資料發生變動,watch屬性可以快速檢測到改變的資料

接下來結合具體案例了解下watch偵聽器屬性。

觀察者模式:

觀察者(觀察者模式)

vue 框架本身作為排程中心,使得開發者只需要關注兩個核心主體——被觀察者以及被觀察者變化之後所需要採取的操作。

將 price和 number作為被觀察者,watch 方法中為二者定義了當它們發生變動時所需要新增的操作,這裡只進行了 console.log 列印,開發者可以根據自身需要完成更為複雜的功能。

(1)使用計算屬性還是methods取決於是否需要快取,當遍歷大陣列和做大量計算時,應當使用計算屬性,除非你不希望得到快取。

(2)因為偵聽器watch相對繁瑣,大多情況下推薦用計算屬性computed選項處理即可。

(3)在 vue 中,computed 的屬性可以被視為是 data 一樣,可以讀取和設值,因此在 computed 中可以分成 getter(讀取) 和 setter(設值),一般情況下是沒有 setter 的,computed 預設只有 getter ,也就是只能讀取,不能改變設值

(4)vue.js計算屬性預設只有 getter,因為是預設值所以我們也常常省略不寫

(5)注意:vue.js計算屬性預設只有 getter,因為是預設值所以我們也常常省略不寫

第四天學習

一 權重關係 樣式表的權重關係 內聯樣式表的權重最大!內部和外部樣式的權重,和書寫的前後順序有關!放在後面的會把放在前面的樣式覆蓋掉 網頁的布局 先做上下排版 再做左右排版 從外往裡 二 css語法 選擇符選擇符 選擇符就是給標籤起名字 型別選擇符 標籤選擇符 所有的html標籤可以直接當做選擇符進...

C Primer學習第四天

第四章 陣列和指標 c 語言提供了兩種類似於vector和迭代器型別的低階復合型別 陣列和指標。與vector型別相似,陣列也可以儲存某種型別的一組物件 而它們的區別在於,陣列的長度是固定的。陣列一經建立,就不允許新增新的元素。指標則可以像迭代器一樣用於遍歷和檢查陣列中的元素。現代c 程式應盡量使用...

C 學習第四天

匿名類 原理 編譯器根據初始化值推斷變數的真正型別.var只能在初始化變數時使用 編譯器要根據初始值固化其正真型別 例如var myint 100 編譯器會推斷出myint為int型別。而var myint myint 0 錯誤。因為編譯器無法知道myint的具體型別,也就無法後續對其進行各種操作了...