被忽略的小知識點1

2022-06-05 10:51:09 字數 3546 閱讀 3739

html表單元素

<

label

>label文字

// 如果將input包裹在label中,點選label文字,input輸入框會自動獲取焦點

label

>

1.disabled 和readonly 都是唯讀,而不能修改,但是 傳送請求的時候,disabled 這個元素的值並不會傳送到後端,而readonly可以

2.表單驗證盡量使用第三方庫 比如 formvalidator 等第三方庫

3.select 分組

分組一

分組二

4.檔案上傳, 有時候 下拉框和檔案上傳增加multiple 多選屬性後,後台直接接收,往往只能接收到乙個資料==

【小技巧, 在name屬性中加上,這樣後台直接接收也能有多個資料】

5.上傳的實現,按理來說應該嚴格限制上傳檔案型別,當涉及到 等檔案的上傳 form表單 需要添上 enctype='mulpart/form-data' 屬性

6.input type='date', 日期型別 幾個屬性 min:起始日期,max:結束日期, step:天數間隔,表示隔幾天才能選擇

7、字串 slice substr substring

slice/substring(1,3) 都是擷取 1-3 位置間的字元並返回 substr 是從位置1開始,往後擷取三位 並返回

slice(0, -3) 擷取 都是 從左往右 擷取 就算負值 也是 !!!

let str = '99'

; console.log(str + 99);//

此時輸出 9999,因為string型別 直接與數字相加,預設是字串連線

1.console.log(str*1 + 99)      //這兩種方式實現字元數字 加法

2.console.log(number(str) +99)

『99』-55 =》 44 系統缺省會把字元數字 變成 數字型別!

let string = '99abc';

console.log(parseint(string))  =>99 後面字串自動忽略;

/* 其實完整的 string/number/boolean/arr 定義方法

let str = new string('abc');//這裡str是 object型別

既然是物件型別,就可以用裡面的構造方法

str.substr(1);

直接 let str = 'abc'; str.substr(1); 其實系統缺省會把str變成上面完整定義string那樣變成物件!!!然後呼叫string裡面的方法!

/* boolean 中小知識點

一、隱式轉換

let num = 99;

if(num) console.log('true') =>true; 當數值型別直接當做if條件是,系統缺省會把它轉成boolean,並且為true 

但是 if(num == true ) console.log('true') =>不列印true 因為num ==true 比較時,因為num為數值 系統預設 會把true也轉成數值==1【false==0】,

99 !== 1;所以判斷不成立!!! 字串型別的數字原理一樣!!! 

let arr = [1];//陣列只有乙個元素1時 做判斷 arr==true 成立

let arr1 = [1,2,3];

if(arr == true) =>等於  因為系統預設把arr轉成數值【number(arr) == 1,如果是空陣列轉成0!!!】,true轉成數值 ==1

if(arr1 == true) =>不等於 因為系統預設把arr1轉成數值,但是陣列元素多於1個,轉成數值為 nan  !== 1 所以不滿足 

if(/{}) => 這裡空陣列和空物件都滿足if判斷,因為 原理就是 boolean(/{}) == true  將空陣列和空物件轉成boolean,而且轉的結果就是true!! if(true) 

*///總結就是 數值除了0都為真,字串除了空字串都為真,陣列,物件等引用型別都為真,包括空物件和空陣列!!!【原理就是 boolean() 】

console.log(boolean(), boolean({})); // => true true

/* 二、顯示轉換

1. !! 加上乙個!就會發生取反【缺省會轉成boolean再取反,再加乙個!取反,就達到顯示轉成boolean】,  

2.上面顯示轉換原理:直接使用方法  bollean(string/number/array/object);

*/

/* while(true){} 應用場景之一:

如果想讓使用者輸入非空內容【使用trim()去掉前後空格】在退出

while(true)//如果一直為空或者輸入空白字串就繼續,直到輸入非空內容    

break;//一旦輸入非空內容就退出死迴圈!!!}*/

/* 各種型別的一些方法

數值:number

number

.tostring(); 轉字串

.isinterger(); 判斷是否整數

.tofixed(2) 如果有小數點 保留兩位

parseint/float('123.123abc')=> 123/123.123 /  parseint/float('abc123.123abc') => nan!

.isnan() 判斷是否是 nan / object.is( 2/'abc', nan ); object。is(),判斷型別 第乙個引數要判斷的元素 ,第二個 期望的型別 

nan:not a number =>  number('abc')=>nan 2/'abc'=>nan

但是 nan 沒辦法跟自己比較 console.log(nan == nan )=>false  

number()=>0 number( [1] )=>1 number([1,2,3]) =>nan

轉成數值是很有必要的,因為很多時候表單裡面輸入的內容,包括純數字,其實都是字串型別的數字!

*//* math  數學方法

math

.max(1,3,6,8,10)

.min(1,3,6,8,10) 最大10最小數1,預設不支援陣列!!!因為預設只支援多引數

.ceil(5.1) =>6 上取整

.floor(5.1)=>5 下取整

.round() 四捨五入

.random() 獲取隨機數 預設範圍 >=0 <1 不會等於1

結合 下取整 得到任意區間的隨機數:

*/console.log(math.floor(math.random() * (5 + 1)), '得到 0-5 [不加1只能取到0-4,因為下取整] 之間的任意整數!!!');

/* 乙個小公式  取 n-m 之間的隨機數

n+ math.floor(  math.random()*(m-n+1) ) //包含m就加一,不包含不用加

*/

被忽略的知識點 switch語句

筆者經常遭遇這種情況 美美的ac出一道題,與同學 朋友交流經驗後發現最佳解法是用switch。what?這鳥語句什麼格式來著,往往手忙腳亂的網搜switch用法。在同乙個地方摔倒多次後,筆者痛定思痛,決定系統的總結一下switch的基本用法,既可以裝b方便自己,也希望同學們不走筆者的老路 o o 基...

小知識點1

1.pageadapter是乙個抽象類,直接繼承於object,匯入包android.support.v4.view.pageradapter即可使用。pageadapter 是viewpager 的介面卡。方便我們對各個view進行控制,viewpager 實現左右滾動。2.hashmap has...

小知識點1

通過讀取配置檔案執行相應的方法 檔案路徑 settings.py 模組是用來配置相應的路徑 setting list test1.message.email.email test1.message.message.message run.py 模組是呼叫send 方法 from test1.mess...