百度前端學院第17到18天和第16天的作業

来源:https://www.cnblogs.com/sogeisetsu/archive/2019/10/19/11701632.html
-Advertisement-
Play Games

終於學JavaScript了! 數組的相關參數 數組 刪除第一個元素, 刪除最後一個元素,返回的都是刪除的元素, 在開頭增加一個元素, 在結尾增加元素, 用於刪除和修改, 用於切片. 數據類型轉換 一元的 + 運算符可用於把變數轉換為數字:如果無法轉換變數,則仍會成為數字,但是值為 NaN(Not ...


終於學JavaScript了!

數組的相關參數

數組shift刪除第一個元素,pop刪除最後一個元素,返回的都是刪除的元素,unshift在開頭增加一個元素,push在結尾增加元素,splice用於刪除和修改,slice用於切片.
***

數據類型轉換


一元的 + 運算符可用於把變數轉換為數字:如果無法轉換變數,則仍會成為數字,但是值為 NaN(Not a number):

constructor

"Bill".constructor                 // 返回 "function String()  { [native code] }"
(3.14).constructor                 // 返回 "function Number()  { [native code] }"
false.constructor                  // 返回 "function Boolean() { [native code] }"
[1,2,3,4].constructor              // 返回 "function Array()   { [native code] }"
{name:'Bill', age:62}.constructor  // 返回" function Object()  { [native code] }"
new Date().constructor             // 返回 "function Date()    { [native code] }"
function () {}.constructor         // 返回 "function Function(){ [native code] }"

可以檢查對象是否是數組函數:

function isArray(myArray) {
    return myArray.constructor === Array;
}


可以在文本字元串中使用反斜杠對代碼行進行換行。


const 關鍵字用來聲明 JavaScript中的常量(與變數相對,不可修改,但同樣是用於存儲信息的"容器"。),常量的值不能通過重新賦值來改變,並且不能重新聲明。

就算變數定義的是數組格式,typeof返回的數據類型還是 object :

數組和對象都是object

if for switch while

if

switch

如果 default不是 switch 代碼塊中最後一個case,請記得用 break 結束預設case

for

for (語句 1; 語句 2; 語句 3/*第三個語句是不需要;的*/) {
     要執行的代碼塊
}

語句 1 在迴圈(代碼塊)開始之前執行。

語句 2 定義運行迴圈(代碼塊)的條件。

語句 3 會在迴圈(代碼塊)每次被執行後執行。

通常,您會使用語句 1 來初始化迴圈中所使用的的變數(i = 0)。

但情況並不總是這樣,JavaScript 不會在意。語句 1 是可選的。

您可以在語句 1 中初始化多個值(由逗號分隔):

for迴圈的語句1可以有多個,用,分割

for (i = 0, len = cars.length, text = ""; i < len; i++) { 
    text += cars[i] + "<br>";
}

for-in 迴圈遍歷的是對象的屬性,而不是數組的索引。因此, for-in 遍歷的對象便不局限於數組,還可以遍歷對象。

語句1和語句3都是可以省略的,語句2也是可選的。

正則表達式

// constructor轉換
c="1111";
a=c.constructor===Array;
console.log(a);
// false
// 使用search返回地址
var a="HELLO world";
b=a.search("wo");
console.log(b);
// 6
// 使用replace用於修改
b=a.replace("hello","你好");
console.log(b);
b = a.replace(/hello/i,"nihao");
console.log(b);
// 返回nihao world
// text用來搜索字元串返回true或者別的。
c=/e/i.test("hello world");
console.log(c);
// "hello world"裡面有e所以返回true;
console.log(typeof(true));
// exec它通過指定的模式(pattern)搜索字元串,並返回已找到的文本。如果未找到匹配,則返回 null。
console.log(/e/i.exec("hllo woefr"));
// 返回e
console.log(typeof(/e/i.exec("hellofregt")));
// 返回object

異常

function jj(){
    var jieguo=document.getElementById("jieguo");
    jieguo.innerHTML="nihao";
    var input=document.getElementById("input").value;
    try{
        if(isNaN(input)) throw "不是數字";
        if(input=="") throw "是空的";
        input=Number(input);
        if(input<5) throw "太小";
        if(input>10) throw "太大";
    }
    catch(err){
        jieguo.innerHTML="輸入:"+err;
    }
    finally{
        document.getElementById("input").value="";
    }
}

作業代碼1 實現加減乘除

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">    
    <title>IFE ECMAScript</title>
</head>
<body>        
    <input id="first-number" type="number" value="0" placeholder="第一個數字">
    <input id="second-number" type="number" value="0" placeholder="第二個數字">
    <button id="add-btn" onclick="jia()">加</button>
    <button id="minus-btn" onclick="jian()">減</button>
    <button id="times-btn" onclick="chen()">乘</button>
    <button id="divide-btn" onclick="chu()">除</button>
    <p id="result">運算結果</p>
    <script>
        function jia(){
            try{
                one=document.getElementById("first-number").value;
                two=document.getElementById("second-number").value;
                // if(isNaN(one)) throw "不是數字";
                // if(isNaN(two)) throw "不是數字";
                console.log("原始"+typeof(one)+one);
                one=parseFloat(one);
                two=parseFloat(two);
                if(isNaN(one)) throw "不是數字";
                if(isNaN(two)) throw "不是數字";
                console.log("結果"+typeof(one)+one)
                result=one+two;
                document.getElementById("result").innerHTML="運算結果:"+result;                
            }
            catch(err){
                console.log("輸入"+err);
            }
            
        }
        function jian(){
            one=document.getElementById("first-number").value;
            two=document.getElementById("second-number").value;
            console.log("原始"+typeof(one)+one);
            one=parseFloat(one);
            two=parseFloat(two);
            console.log("結果"+typeof(one)+one)
            result=one-two;
            document.getElementById("result").innerHTML="運算結果:"+result;
        }
        function chen(){
            one=document.getElementById("first-number").value;
            two=document.getElementById("second-number").value;
            console.log("原始"+typeof(one)+one);
            one=parseFloat(one);
            two=parseFloat(two);
            console.log("結果"+typeof(one)+one)
            result=one*two;
            document.getElementById("result").innerHTML="運算結果:"+result;
        }
        function chu(){
            one=document.getElementById("first-number").value;
            two=document.getElementById("second-number").value;
            console.log("原始"+typeof(one)+one);
            one=parseFloat(one);
            two=parseFloat(two);
            console.log("結果"+typeof(one)+one)
            result=one/two;
            document.getElementById("result").innerHTML="運算結果:"+result;
        }
    </script>
</body>
</html>

作業代碼2 實現轉換2進位

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">    
    <title>IFE ECMAScript</title>
    <style>
        input{
            width: 200px;
        }
    </style>
</head>
<body>        
        <input id="dec-number" type="number" placeholder="輸入一個十進位非負整數">
        <input id="bin-bit" type="number" placeholder="輸入轉化後二進位數字位數">
        <button id="trans-btn" onclick="jj()">轉化為二進位</button>
        <p id="result">運算結果</p>
<script>

function dec2bin(decNumber) {
    // 在這裡實現你的轉化方法,註意需要判斷輸入必須為一個非負整數
    try{
        console.log(decNumber);
        if (decNumber<=0||decNumber.constructor!=Number) throw "輸入必須為一個非負整數";
        var z=decNumber;
        var a=""
        for(var i=0;;i++){
            y=z%2;             
            a=String(y)+a;
           if(z==1){
                break;
            }
            z=parseInt(z/2);
        }
        a=Number(a);
        return a;
    }
    catch(err){
        document.getElementById("result").innerHTML=err;
    }
}
// console.log(typeof(c))
// console.log(c)
// 實現黨點擊轉化按鈕時,將輸入的十進位數字轉化為二進位,並顯示在result的p標簽內
// Some codeing
function jj(){
    var c=Number(document.getElementById("dec-number").value);
    d=dec2bin(c);
    // d=new Number(d);
    weishu=document.getElementById("bin-bit").value;
    weishu=Number(weishu);
    long=String(d).length
    console.log(long);
    console.log(weishu);
    if(weishu>=long){
        x=weishu-long;
        for(var i=0;i<x;i++){
            d="0"+String(d);
            // d=Number(d);
        }
    }else{
        d="位數過小,請重新輸入,最小位數為:"+long;
        console.log(typeof(d));
    }
    document.getElementById("result").innerHTML=d;
}

    </script>
</body>
</html>

轉換2進位預覽

加減乘除預覽

自己打的一些東西

var c=12;
var day
console.log(typeof(c))
if (c!="12"){
    console.log("yes")
}else if (c=='12'){
    console.log("完全相等")
}
else{
    console.log("no")
}
c= new Date()
console.log(new Date().getDay())
switch(new Date().getDay()){
    // case 0:
    //     day ="星期天";
    //     break;
    // case 2:
    //     day ="星期2";
    //     break;
    // case 3:
    //     day = "星期3";
    //     break;
    // default:
    //     day="未設置";
    //     // break;
    case 0:
day = "星期天";
break;
case 1:
day = "星期一";
 break;
case 2:
day = "星期二";
 break;
case 3:
day = "星期三";
 break;
}
console.log("今天是"+day);
switch (new Date().getDay()) {
case 0:
day = "星期天";
break;
case 1:
day = "星期一";
 break;
case 2:
day = "星期二";
 break;
case 3:
day = "星期三";
 break;
// case 4:
//     day = "星期四";
//      break;
// case 5:
//     day = "星期五";
//      break;
// case 6:
//     day = "星期六";
}
console.log("今天是"+day);
var c=["html","css","python","java"] ,d="",i;
for(i=0;i<c.length;i++){
d+=c[i]+"\t";
}
console.log(d);
var text="123";
for(i=0;i<c.length;i++){
text+=c[i]+"\n";
}
console.log(text)
var x;
for (x in c){
console.log("star")
console.log(c[x]);
}
function zixing(){
var b=1;
for(i=0,c=1;i<100;i++){
// console.log("typeof(c)= "+typeof(c));
// console.log("c="+c);
b=1+i;
document.write(b);
document.write("<br>");
// console.log(typeof(b));
}
}
var i=null;
i=0;
while (i<10){
i++;
console.log(i)
if(i===3){
break;
} 
}
var i=null;
i=0;
do{
console.log(i);
i++;
if(i===3){
console.log("hello");
// continue;
break;
}
console.log("執行完畢")
}
while(i<10);
console.log("stt")
console.log(i);
i=0;
var list=["hello","world","welcome","to","china"]
biaoqian:{
console.log(list[i]+"\n");
console.log(list[3]+"\n");
i++;
console.log(list[i]+"\n");
break biaoqian;
console.log("after break");
}
console.log("111".constructor)
// var a="111";
// document.getElementById("id").innerHTML=lz(a);
// function lz(sh){
//     return sh.constructor === String;
// }
var fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("qq").innerHTML = isArray(fruits);

function isArray(myArray) {
return myArray.constructor === Array;
}
var d=["11","123",["12",'1']];
console.log(d.length);
// c=d.join("*")
d.pop();
d.push("增加");
console.log(d);
d.shift();
console.log(d);
d=null;
d=["hello","world","nihao"];
c=d.shift();
console.log(c+"\n"+d);
c=d.unshift(["11","11"]);
console.log(c+"\n"+d);
console.log(d[0]);
// 通過splice刪除或增加元素;
d.splice(0,1,"xin");
console.log(d);
// concat用來鏈接元素
dd=["新","元","素"];
console.log(d.concat(dd));
c="111";
console.log(c.length);
// slice()用於切出。
e=dd.slice(1,2);
console.log(e);
var b= new Date();
console.log(b);
console.log("11");
console.log(typeof(b));
bb=b.toDateString();
console.log(bb);
console.log(typeof(bb));
b=b.getDate();
console.log(b);
console.log(typeof(b));
// constructor轉換
c="1111";
a=c.constructor===Array;
console.log(a);
// false
// 使用search返回地址
var a="HELLO world";
b=a.search("wo");
console.log(b);
// 6
// 使用replace用於修改
b=a.replace("hello","你好");
console.log(b);
b = a.replace(/hello/i,"nihao");
console.log(b);
// 返回nihao world
// text用來搜索字元串返回true或者別的。
c=/e/i.test("hello world");
console.log(c);
// "hello world"裡面有e所以返回true;
console.log(typeof(true));
// exec它通過指定的模式(pattern)搜索字元串,並返回已找到的文本。如果未找到匹配,則返回 null。
console.log(/e/i.exec("hllo woefr"));
// 返回e
console.log(typeof(/e/i.exec("hellofregt")));
// 返回object
function jj(){
    var jieguo=document.getElementById("jieguo");
    jieguo.innerHTML="nihao";
    var input=document.getElementById("input").value;
    try{
        if(isNaN(input)) throw "不是數字";
        if(input=="") throw "是空的";
        input=Number(input);
        if(input<5) throw "太小";
        if(input>10) throw "太大";
    }
    catch(err){
        jieguo.innerHTML="輸入:"+err;
    }
    finally{
        document.getElementById("input").value="";
    }
}

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 利用Excel以及word文檔進行操作 將表的欄位以及數據全部放入Excel表中並保存。 在word表中將寫好的sql語句放入文檔,利用郵件--選擇收件人--使用現有列表--(選擇之前做好的Excel表)--插入合併域(添加在sql語句中的條件中) 完成併合並(編輯單個文檔選擇全部)--完成(不過為 ...
  • 前言: 日常工作或學習過程中,我們可能會經常用到某些SQL,建議大家多多整理記錄下這些常用的SQL,這樣後續用到會方便很多。筆者在工作及學習過程中也整理了下個人常用的SQL,現在分享給你!可能有些SQL你還不常用,但還是希望對你有所幫助,說不定某日有需求就可以用到。 註:下文分享的SQL適用於MyS ...
  • Redis支持的鍵值數據類型如下: 字元串類型 散列類型 列表類型 集合類型 有序集合類型 一、字元串類型 字元串類型是Redis中最基本的數據類型,它能存儲任何形式的字元串,包括二進位數據。一個字元串類型鍵允許存儲的數據最大容量是512MB. 1、字元串常用命令 1.1 賦值與取值 SET key ...
  • 實驗日期: 2019 年 09 月 24 日 實驗報告日期: 2019 年 09 月 28 日 一、 實驗目的 熟悉oracle環境; 熟練掌握和使用PL-SQL建立資料庫基本表。 使用PL/SQL developer操作資料庫。 熟練掌握SQL 建立關係,及增刪改數據。 二、 實驗環境 Windo ...
  • 1.備份: 2.恢復: 3.實例: ...
  • 近期內手裡收到一些朋友發來的簡歷,讓我初步把把關。在看了多份簡歷之後,想說一些話,給大家講講我對於簡歷的看法。 簡歷要突出重點,要精準無誤,要言之有物,要有的放矢。 如何突出重點,校園招聘可以寫一些校園獲獎情況,你畢業了多年應聘,簡歷上寫個大學長跑一等獎,是要突出自己不怕加班,體質好?這個大學生活內 ...
  • 谷歌訪問助手安裝教程參考:https://www.cnblogs.com/waiwai14/p/11697371.html 谷歌訪問助手下載地址:https://pan.baidu.com/s/1YHjj8La5sC2QLhQ8Aga-sQ 由於谷歌中國的退出,導致本來可以訪問到的官網無法訪問或者無 ...
  • 問題及分析 今天做項目的時候,執行pod update報瞭如下錯誤信息: /usr/local/lib/ruby/gems/2.4.0/gems/cocoapods 1.5.3/lib/cocoapods/command.rb:118:in git version sudo xcode select ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...