html自學筆記與面試會問到問題

第一章
1.1什么是JavaScript?

一各跨平臺的腳本語言

1.2ECMA特點:

由三大部分組成:核心語法(關鍵字、核心對象、語法)、DOM、BOM

1.3 取余運算(又叫取模運算):

取余:整除后,除不盡的余數!如對89取余,結果為17(即:商3余17)
1%3=1 ;2%3=2 注:如果前面的數小于后面的數,則值為前面的數
2%1=0 ;2%2=0 注:如果能被整數,則值為零!
例如:為抵抗洪水,戰士連續作戰89小時,編程計算共多少天零多少小時?
var total=89;alert(“共計”+parseInt(total/24)+“天”+“零,”+total%24+“小時”);alert(total%24);
共3天零17小時

1.4在JS中“=”代表的意思:表示賦值運算!

Eg:  
<script>
var x=100; var y=99;
x=y;
document.write(x); 顯示結果99
document.write(y); 顯示結果99
</script>

1.5、什么是變量?

變量:就是內存的一塊空間。

(注:內存,即內部的存儲器。硬盤,外部的存儲器。硬盤讀取數據的速度,表較慢。)
1.5.1查看變量的數據類型用(typeof)

例如:var  name="xiaoming";   var res=typeof  name;  
document.write(res); 顯示結果 string.

1.6、類型轉換:不同的數據類型之間做運算

var num=5;  document.write(num +1); 顯示結果 6
var num="5"; document.write(num+1); 顯示結果51;
var num="5"; document.write(num-1); 顯示結果4;var num="5"; document.write(+num+1);
(*注在一個字符串前面,帶上正負號,可以將該字符創轉換為數字)

1.6.1 各類型相互轉化實例:

    var num="5"; 
var e=parseInt(num);  document.write(e); 顯示結果5var e=parseFloat(num);  document.write(e);顯示結果5var e=Number(num);  document.write(e);顯示結果5

1.6.2浮點類型之間的加減法:

var num=0.2; 
var nu=0.1;document.write(num+nu);   顯示結果0.30000000000000004var num=0.2; 
var nu=0.1;document.write(num*nu); 顯示結果0.020000000000000004
var num=0.2; 
var nu=0.1;document.write(num/nu);顯示結果2

1.6.3NaN關系運算

 var a=”xiaomi”;var b=”123a”;
document.write(Number(a)==Number(b));顯示結果false;

(*注 Nan不是數字,document.write(Number(a)Number(b));一個不是數字的東西另一個不是數字大的東西!)
1.7、運算符
=== 表示絕對等于 == 等于(會做轉化,然后做運算) !=不等于

例如:var x=100;var y=”100”
alert(x=y);結果是true;
alert(x===y);結果是false;
例如:alert(true==1);結果是true;
alert(true===1);結果是false;
例如:alert(true !=1);結果是false;
例如:alert(true !==1);結果是true;  (注*:==兩個等號之間進行了類型的轉換!)

1.8、自增和自減(a++與++a的區別:)

a+ =1;  等價于   a= a+1
a++;等價于  a+ =1; 也就等于a= a+1 ++a;等價于a+ =1;(前置自增,就是++a,表示先對變量a加1,再使用變量的值)
a++;等價于a+ =1;(后置自增,就是a++,表示先使用變量的值,在對變量a加1)

1.8.1加法

例如:var k=2;
alert(k+ ++k + k++ + ++k +k)
解:var k=2;
alert(k+ ++k + k++ + ++k +k)|
var k=2;
alert(2+ 3 + 3 + ++k +k)       先將第三個變為3
|
var k=4;
alert(2+ 3 + 3 + 5 +k)
|
var k=5;
alert(2+ 3 + 3 + 5 +5)

1.8.2減法

var k=2;
alert(k- --k-k--+--k-k)
2-1-1+-11=0
1.9、位運算
1.9.1按位與
(&,當兩者都為“真”的時候,結果才為“真”,當其中一個為“假”的時候,結果才為“假”。)
例如: var a=1; 			 0000 0001;var b=2;  			 0000 0010;
var c=a&b;         0000 0000;
alert(c);            結果:0

1.9.2按位或

例如: var a=1; 			 0000 0001;var b=3;  			 0000 0011;
var c=a|b;         0000 0011;
alert(c);            結果:11.9.3移位運算
例如:
var c=2;var d=c<<3;   //2*2*2*2
alert(d);        結果顯示16

1.10、十進制、八進制、十六進制

1.10.1十進制
a=1015

1.10.2八進制

a=076;    //6+7*8=62
a=065;    //5+6*8=53

1.10.3十六進制

 var a=0xAF5;                //5+15*16+10*16^2
alert(a);顯示結果2805;

1.10.4其他顯示

var a=094;alert(a);   顯示結果94;
(注:因為十位為9,不是八進制以內的數字(0-7))

第二章
2.1、程序的三大機構:順序、選擇、循環
2.2、IF語句

if(判斷條件,布爾類型){//注*:在if的()里面,必須是一個邏輯運算表達式
條件成立后的執行代碼
}else{
否則執行。。。。
}

例如:輸入年份,計算某一年是否是閏年。
解:閏年產生的條件:被4整除,非整百年,或者被400整除。
<head>
<meta charset="utf-8">
<title></title>
<script>
function jsuan(){var year=input.value;if((year%4==0 && year%100!=0) || year%400==0){alert("是閏年!");}else{alert("不是閏年!");}
}
</script>
</head>
<body>年份:<input type="text" id="input"/><button οnclick="jsuan()"  >計算</button>
</body>
2.3、Switch語句
例:當輸入一個數字時,顯示對應的星期(如,輸入1,顯示星期一)
<HTML>
<head>
<meta charset="utf-8">
<title></title>
<script>
function jsuan(){var n=Number(input.value);switch(n){case 1:alert("星期一");break;case 2:alert("星期二");break;case 3:alert("星期三");break;case 4:alert("星期四");break;case 5:alert("星期五");break;case 6:alert("星期六");break;case 7:alert("星期日");break;default :alert("您輸入有誤");}
}
</script>
</head>
<body>請您輸入數字:<input type="text" id="input"/><button οnclick="jsuan()"  >計算</button>
</body>
</HTML>

2.4、Console.log()控制臺打印,常用來測試中運用! 測試中不常用alert();
2.5、if…else :如果…否則
if…else 語句 - 當條件為 true 時執行代碼,當條件為 false 時執行其他代碼

例如:輸入分數,判斷成績等級

請選擇一個月份: 1 2 3 4 5 6 7 9 10 11 12 計算

2.8、轉義字符
2.8.1引號:
用來在控制臺輸出一句帶引號(單引號‘’或者“”)的一段話。
例如:在瀏覽器其中的Console中輸入:console.log(““Hello word””);
則顯示結果為:“Hello word”
2.8.2換行:\n
例如:console.log(““Hello word”\n—小明”);
顯示結果 “Hello word”
—小明
2.8.2Tab鍵:\t
2.9、綜合練習題
例如:根據一個數字日期,判斷這個日期是這一年的第幾天?
例如20170211,計算后的結果為42

請輸入一個數字日期: 計算

3.1、while循環
例如:當你的月薪為10000時,每年會長1.05,50年后你的工資為多少?循環打印出來

3.2、for循環

3.3、打印100以內的奇數
例:

3.4、求100以內的偶數的和

3.5、求1-1/2+1/3-1/4…1/100的和

3.5、打印出1000-2000年中所有的閏年,并以每行10個的形式顯示

3.6、打印出如下三角形(1)

3.7、打印出如下三角形(2)
#
##
###

還可以用p標簽換行

3.8、計算100的結成100!=100999897…1

3.9、計算100-999直接的水仙花

顯示結果
153 370 371 407
3.10、打印九九乘法表

1X1=1
1X2=2 2X2=4
1X3=3 2X3=6 3X3=9
1X4=4 2X4=8 3X4=12 4X4=16
1X5=5 2X5=10 3X5=15 4X5=20 5X5=25
1X6=6 2X6=12 3X6=18 4X6=24 5X6=30 6X6=36
1X7=7 2X7=14 3X7=21 4X7=28 5X7=35 6X7=42 7X7=49
1X8=8 2X8=16 3X8=24 4X8=32 5X8=40 6X8=48 7X8=56 8X8=64
1X9=9 2X9=18 3X9=27 4X9=36 5X9=45 6X9=54 7X9=63 8X9=72 9X9=81

第三章函數
一、函數的概念
二、使用函數好處
封裝
三、如何使用函數、像函數輸入數據(參數)
例如:

四、編寫一個函數,計算三個數的大小,按從小到大的順序輸出

五、函數中的return關鍵字
Return關鍵字,用來然函數返回結果,如果沒有return,執行完后,將會返回undefined
例如:編寫一個函數,生成4位數字的驗證碼

六、變量的聲明提升
即所有聲明變量或聲明函數都會被提升到當前函數的頂部。

注:如果將上面的m2(),提到m1()的位置,將會報錯,這就與變量的聲明提升有關!!
6.1.、計編寫一個函數、在頁面輸出一個N行M列的表格,表格內容填充1-100的隨機數字

6.2.、計求m-n之間的和

6.3.、計圓的面積

6.4.、編寫函數digit(num,k),函數的功能是:求整數num從右邊開始的第k位數字的值,如果num位數不足k位,則返回0;

6.5.、編寫一個函數,計算任意兩個數字之間所能組成的奇數個數,數字必須是個位數。比如:計算0-3之間能組成的奇數是01,03,13,21,23,31

6.6.、作用域:起作用的范圍
作用域分為兩種:局部作用域和全局作用域!
6.7、局部變量:在一個函數內部定義的變量,稱之為局部變量,它的作用范圍,只針對函數內部有效。
6.8.、全局變量:在頂層函數的外部,定義的變量,叫做全局變量(添加在Windows對象的變量,叫做全局變量)
變量不寫var默認全局變量。
6.9.、堆和棧的概念
堆:
棧:指的是一種先進后出的存儲結構
7.0.、面試題(下列內容將會打印出什么?)
var n=10;
function test(){
console.log(n); //undefied
var n;
console.log(n); //20
}
test();
解釋:變量的聲明提升原則:提升至該作用域的最前面
var n=10;
function test(){
var n=20;
console.log(n); //undefied
var n=20;
console.log(n); //20
}
test();

7.1.、遞歸
7.1.1、例如:遞歸計算100的階乘!

7.1.2、遞歸計算裴波那契數列
例如:假設有一對兔子,三個月成年,到了第三個月,就可以生下一對小兔子。問,第N個月,總共會有多少兔子?
解析:
月份 1 2 3 4 5 6 7 8 9 10 11 12
兔子數
1 1 2 3 5 8 13 21 34 55 89 144

7.1.3、遞歸計算兩個數的最大公約數

8、 構造函數
8.1、定義:new一個對象
第四章數組

1、數組:
一組數據、通常情況下,這一組數據的類型是一致的。
1.1、作用:
就是一個容器,將多個數據保存下來。
1.2、數組的創建方式:
第一種用json形式創建: var a=[10,23,56];
第二種用構造函數創建:var b=new Array(10);
注:*當傳入一個參數,并且參數類型為數字,則表示數組的長度;
當傳入多個,則表示數據。如下:

打印結果:5,35,66,88
4
1.3、數組的下標:

注意:*下標不可以大于數組的長度-1
1.4、練習:
1、當一個數組為空時,怎么往里面放入數據?

1.5、數組的遍歷:
輸出50到100之間的隨機數,并且求其平均數:

1.6定義一個含有30個整型元素的數組,按順序分別賦予從2開始的偶數;然后按順序每5個數求出一個平均值,放在另一個數組中并輸出

1.7 、for…in循環

1.8 、二維數組

練習:通過循環按行順序為一個5*5的二維數組a賦1到25,然后輸出該數組的坐下半角

顯示結果:
Array(5)0: (5) [1, 2, 3, 4, 5]
1: (5) [6, 7, 8, 9, 10]
2: (5) [11, 12, 13, 14, 15]
3: (5) [16, 17, 18, 19, 20]
4: (5) [21, 22, 23, 24, 25]
1
6 7
11 12 13
16 17 18 19
21 22 23 24 25

1.9 、數組的值傳遞和引用傳遞(或者叫值的復制和地址的復制)
1.9.1 堆和棧
例1:

打印結果:10
例2:

打印結果:16, 22, 38
注:在計算機內存中,有一種特殊的變量,它會保存另一個變量的內存地址,我們管這種變量,就叫做指針,也叫做引用,也可以叫快捷方式!

1.9 、引用類型和對象
如果把對象比作文件,引用類型就是快捷方式
注:所有的對象是放在堆內存里面的。
1.10 、隨機點名
1、第一種顯示方式

隨機點名

1.10 、數字驗證碼(練習)

1.15、練習
15.1編寫函數map[arr]把數組中的每一位數都增加30%

15.2編寫函數has(arr,60)判斷數組中是否存在60這個元素,返回布爾類型。

15.3編寫函數norepeat(arr)將數組的重復元素去掉,并返回新的數組

15.4 有一個從小到大排序好的數組。先輸入一個數,要求按原來的規律將它插入數組中。

第五章ES5
1.1、ES5概念
1.2、嚴格模式
在代碼的開頭部分,增加一行
“use strict”;
例如:

1.3、數組新增的方法

1.4、字符串(String)
字符串常見的API:
chartAt:獲取指定位置的字符
indexOf:獲取指定字符串內容第一次出現的位置
substring 和slice截取字符串內容
split根據指定的字符創內容,將字符創進行分割,并以數組的形式返回
replace替換

1.5、查找和替換
例題:寫一個小程序,要求替換下面一段文字里面的內容,替換后的字段要有顏色的改變

請輸入要替換的內容: 請輸入替換后的內容: 替換
Java是世界上最受人歡迎的語言,Java語言在程序開發語言中位居第一。

1.6、ASCII碼和字符集
charCodeAt\fromCharCode
例1:

打印結果:100;
例2:

打印結果:n;
第六章Math
1.、Math內置對象的常見API
1.1Math的向上取整
Math.ceil(1.6);顯示2
Math.ceil(1.00001);顯示2
1.2Math的向下取整
Math.floor(1.9999999);顯示1

Math.floor(-1.9999999);顯示2
1.2Math的求最大值和最小值
Math.max(12,23,45,100);//顯示結果100
Math.max(12,23,45,100);//顯示結果12
1.3Math的隨機數
Math.random();
如;打印0-10之間的隨機數parseInt(Math.random()100);
1.4Math的四舍五入
Math.round(1.8);//顯示結果2
Math.round(1.3);//顯示結果1
1.5Math的平方根
Math.sqrt(9);//顯示結果3
2、三角函數
var left=0;
while(left<100){
y=振幅
Math.sin(left*Math.PI/180)
}
3、勾股定理
Math.pow(a,2) +Math.pow(b.2)=Math.pow(c,2);
其中,a和b表示直角邊,c表示斜邊
4、橢圓公式
Math.pow(x/a,2) +Math.pow(y/b,2) =1;
5、曲線方程
y=ax^2 + bx + c
6、隨機數的設定范圍
例如:寫一個小程序,顯示1到20之間的隨機數。

7、編寫一個函數,獲得一個十六進制的隨機數顏色的字符串。例如#20CD4F

此程序有問題

第七章Date
1、日期對象

2、將日期格式轉化為字符串類型
打印一個能控制輸入“2017-10-22”“2017.10.22”“2017/10/22”

注:如果不傳sep,則會報undefined,data2String(new Date(),“-”)——data2String(d),
上面的if判斷語句也可以寫成如下形式:
三木運算符:sep=sep==undefined?”/”:sep;
sep=sep || “/”;

3、將制定個數字符串轉化成日期
1、第一種方法:利用構造函數,將字符串轉化成日期對象
var d=new (“2008 10 22”)
2、第一種方法:利用構造函數
var d=new Date(1)//日期距離1970.1.1的毫秒數
例如:

3、寫一個打印時間的小程序

注:學習這種思路!!!!!

第八章Windows

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/42234.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/42234.shtml
英文地址,請注明出處:http://en.pswp.cn/web/42234.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

發那科機床聯網串口配置

本文章僅針對無網口&#xff0c;需要通過串口輸出采集數據情況。跟這篇文章互為參考&#xff0c;一個理論&#xff0c;一個實戰。 Fanuc DPRNT宏程序串口采集-CSDN博客 一、禁用機器串口監控 選擇System、monit 二、設置參數可寫 在MDI模式中字符面板上按OFS/SET鍵,連按致屏…

終于搞定了通過兩路藍牙接收數據

一直想做無線傳感器&#xff0c;通過藍牙來接收數據&#xff0c;無奈因為arduino接收串口數據的一些問題&#xff0c;一直擱到現在。因為學校里給學生開了選修課&#xff0c;所以手邊有一些nano和mega可以使用&#xff0c;所以就做了用兩個nano加上兩個藍牙模塊來發射數據&…

經常用借唄和花唄對征信有影響嗎?

說起支付寶里的花唄和借唄&#xff0c;大伙兒肯定都不陌生&#xff0c;它們倆就像是支付寶里的信用貸款雙胞胎&#xff0c;名字相近&#xff0c;性格卻大相徑庭。現在&#xff0c;這倆兄弟都乖乖地接入了央行的征信大家庭&#xff0c;你的每一次使用&#xff0c;都會被記錄得清…

GEE代碼實例教程詳解:湖泊水位變化監測

簡介 本篇博客將介紹如何使用Google Earth Engine (GEE) 對湖泊水位變化進行監測。通過MODIS數據集&#xff0c;我們可以識別2001年和2023年的湖泊范圍&#xff0c;并計算湖泊的高程變化。 背景知識 MODIS數據集 MODIS/061/MOD09Q1數據集提供了MODIS的地表反射數據&#xf…

DDD架構

1.DDD架構的概念&#xff1a; 領域驅動設計&#xff08;Domain-Driven Design, DDD&#xff09;是一種軟件設計方法&#xff0c;旨在將軟件系統的設計和開發焦點集中在領域模型上&#xff0c;以解決復雜業務問題 2.DDD架構解決了什么問題: 在以前的mvc架構種&#xff0c;三層結…

產品經理-交互設計動手實踐(11)

業內有很多畫交互的工具&#xff0c;這里不過多介紹&#xff0c;互聯網公司最常用的工具是Axure,墨刀,藍湖,小瀑 它是一個專業的快速原型設計工具&#xff0c;使用它能夠快速創建線框圖、流程圖、原型和規格說明文檔。 它能快速、高效地創建原型&#xff0c;同時支持多人協作設…

華為HCIP Datacom H12-821 卷30

1.單選題 以下關于OSPF協議報文說法錯誤的是? A、OSPF報文采用UDP報文封裝并且端口號是89 B、OSPF所有報文的頭部格式相同 C、OSPF協議使用五種報文完成路由信息的傳遞 D、OSPF所有報文頭部都攜帶了Router-ID字段 正確答案&#xff1a;A 解析&#xff1a; OSPF用IP報…

iOS 開發中不常見的專業術語

樂此不疲地把簡單的問題復雜化&#xff0c;并把這種XX行為叫作專業 APM 在 iOS 開發中&#xff0c;APM 代表 Application Performance Management&#xff08;應用性能管理&#xff09;。APM 是一套監控和管理應用程序性能的工具和技術&#xff0c;旨在確保應用程序運行平穩、…

【人工智能】-- 法律與倫理

個人主頁&#xff1a;歡迎來到 Papicatch的博客 課設專欄 &#xff1a;學生成績管理系統 專業知識專欄&#xff1a; 專業知識 文章目錄 &#x1f349;引言 &#x1f349;倫理問題 &#x1f348;隱私泄露問題 &#x1f34d;人工智能與隱私泄露的緊密關聯 &#x1f34d;數…

上海慕尼黑電子展開展,啟明智顯攜物聯網前沿方案亮相

隨著科技創新的浪潮不斷涌來&#xff0c;上海慕尼黑電子展在萬眾矚目中盛大開幕。本次展會匯聚了全球頂尖的電子產品與技術解決方案&#xff0c;成為業界矚目的焦點。啟明智顯作為物聯網彩屏顯示領域的佼佼者攜產品亮相展會&#xff0c;為參展者帶來了RTOS、LINUX全系列方案及A…

測試工作流程

基礎 測試流程 1)需求研讀&#xff1a; 通讀需求了解需求整體內容&#xff0c;然后精讀需求理解需求的每?個業務邏輯&#xff0c;每?句話的意思。在研讀需求過程中的記錄問題&#xff0c;然后通過百度&#xff0c;AI?具&#xff0c;CSDN社區&#xff0c;咨詢朋友&#xf…

鴻蒙 arkts 實現手機號中間四位隱藏, 可以使用 substring [ 簡單適用新手 ]

1, 看效果 2, 直接cv代碼就可以 Preview Entry Component struct Setting {Statephone:string 15555555555maskPhoneNumber(phone:string){const start phone.substring(0,3)const end phone.substring(7)return ${start}****${end}}build() {Column(){Text(this.maskPhon…

Leetcode2542-最大子序列的分數

1.問題轉換 首先明確題意&#xff0c;要選取的值和num1&#xff0c;num2兩個數組都有關&#xff0c;但是num1中選取的是k個數&#xff0c;num2中選取的是1個數&#xff0c;顯然num2中的數所占的權重較大&#xff08;對結果影響較大&#xff09;&#xff0c;所以我們就可以對nu…

【Java探索之旅】多態:向上下轉型、多態優缺點、構造函數陷阱

文章目錄 &#x1f4d1;前言一、向上轉型和向下轉型1.1 向上轉型1.2 向下轉型 二、多態的優缺點2.1 多態優點2.2 多態缺陷 三、避免避免構造方法中調用重寫的方法四、好的習慣&#x1f324;?全篇總結 &#x1f4d1;前言 在面向對象編程中&#xff0c;向上轉型和向下轉型是常用…

Django 新增數據 create()方法

1&#xff0c;添加模型 Test/app11/models.py from django.db import modelsclass Book(models.Model):title models.CharField(max_length100)author models.CharField(max_length100)publication_date models.DateField()price models.DecimalField(max_digits5, decim…

小米訂單銳減背后的挑戰與應對之道

近期&#xff0c;富士康印度子公司Bharat FIH面臨高管離職、工廠關閉的困境&#xff0c;其背后原因之一是小米訂單的顯著下滑&#xff0c;據報道&#xff0c;這一降幅高達70%。這一現象不僅反映了富士康在印度市場的艱難處境&#xff0c;也揭示了小米在全球智能手機市場面臨的挑…

六、數據可視化—Wordcloud詞云(爬蟲及數據可視化)

六、數據可視化—Wordcloud詞云&#xff08;爬蟲及數據可視化&#xff09; 也是一個應用程序 http://amueller.github.io/word_cloud/ Wordcloud詞云&#xff0c;在一些知乎&#xff0c;論壇等有這樣一些東西&#xff0c;要么做封面&#xff0c;要么做講解&#xff0c;進行分析…

C++ | Leetcode C++題解之第223題矩形面積

題目&#xff1a; 題解&#xff1a; class Solution { public:int computeArea(int ax1, int ay1, int ax2, int ay2, int bx1, int by1, int bx2, int by2) {int area1 (ax2 - ax1) * (ay2 - ay1), area2 (bx2 - bx1) * (by2 - by1);int overlapWidth min(ax2, bx2) - max…

實戰Qt開發WordBN筆記軟件#01 搭建開發環境:VS2019+Qt6.5+CMake+Git

01 背景 【WordBN字遠筆記】是天恩軟件工作室開發的一款免費筆記軟件&#xff1b;WordBN基于VS2019、Qt6.5開發&#xff0c;使用Qt Quick&#xff08;QML&#xff09;開發語言。 本課程將以【WordBN字遠筆記】的界面為實戰基礎&#xff0c;詳細介紹如何基于Qt/QML開發語言&am…

WPF 表格控件斑馬線使用

這里用ListView為案例。 如圖效果&#xff1a; 主要思路&#xff1a; 用AlternationCount屬性來設置需要使用斑馬線的條數&#xff0c;就是說幾行一換色&#xff0c;也可以理解為需要幾種顏色&#xff0c; 然后再樣式模板中&#xff0c;寫觸發器屬性ItemsControl.Alternatio…