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'1.console.log(str*1 + 99) //這兩種方式實現字元數字 加法; console.log(str + 99);//
此時輸出 9999,因為string型別 直接與數字相加,預設是字串連線
2.console.log(number(str) +99)
let string = '99abc';『99』-55 =》 44 系統缺省會把字元數字 變成 數字型別!
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...