1程式設計基礎
Javascrpt是一種腳本語言,所有的計算機進階語言分為兩種,編譯型語言和解釋型語言。
常見的進階語言有:C、C++、java、python、vb、R、易語言、go、C#、php等。
計算機認識的語言隻有機械語言(二進制),所有要将進階語言轉化成機械語言,轉化的形式分為兩種,解釋型和編譯型。
解釋性:程式一行一行的去執行,一直執行到有錯誤的一行。
編譯型:将所有的程式轉化成機械語言,如果有錯誤,則不會執行程式。
為什麼會用計算機?
友善,它能幫助我們解決實際問題。
為什麼能幫助我們解決問題?
計算機的語言,能和生活中的自然語言産生映射,說白了就是他能将實際問題轉化為計算機程式,進而幫助我們快速的解決問題。幫助我們去處理生活中的資料。
資料有幾個屬性:分别為名稱、值和類型。
分為三種常用的類型:分别為數值、字元串、布爾類型
<script>
alert("what");//警告提示框
alert(typeof(six));
</script>
alert()是js本身提供的一個方法,叫做警告提示框,傳遞參數就是要提示的内容。
typeof是值的類型。
在js裡面,數字隻有數值型沒有整型和浮點型。
變量
為什麼要有變量,這是因為我們生活中的資料并不是一成不變的。計算機中要有和自然生活中産生映射,是以有了變量。
用var去聲明一個變量,variable
一個有他的名字、值、類型。
命名的要求
規則:用字母開頭或者$和_(一般不用),然後由字元組成。為什麼進階語言都不能用數字開頭,這是因為16進制數值是用0x表示,如果變量名是以數字開頭不能區分兩者;不能用關鍵字。
原則:見名思義,一般不用拼音
var name="徐志摩";
var age=333;
var alone=true;
alert(name);
alert(typeof(name));
在js當中,系統會根據變量的值自動去配置設定變量的類型。
變量的本質是:記憶體單元。聲明一個變量就是在記憶體當中配置設定一個空間用來存儲這個變量。
常量
不變的量,生活中也有不變的數比如pi圓周率,一直都是3.1415926…
注釋
什麼事注釋:解釋說明。
友善别人來閱讀我的代碼,可讀性強。
在js裡面如何注釋:
//行注釋快捷鍵:ctrl+/
/*
塊注釋 快捷鍵:ctrl+shift+/
對象類型
對象由什麼組成:屬性和方法。
狗:名字、毛發的顔色、狗齡、大小、他會叫、會跑…
屬性:靜态的屬性:在代碼當中就是一個變量。
方法:動态的行為:在代碼當中就是一個函數或者方法。
汽車:顔色、品牌、材料、外觀、他會跑、會響。
var dog={
name:"大黃",
age:3,
color:"yellow",
size:"big"
};//執行個體化對象方法1
var car=new Object();//執行個體化對象方法2
alert(dog.name);
alert(dog.age);
alert(dog.color);
定義對象有兩種方法:第一種就是直接有花括号括起來,第二種就是new一個Object。
調用對象裡面的屬性,直接用對象名+.來調用。
給對象添加一個新的屬性:用.一個新的名字。
dog.catecory="金毛";
alert(dog.catecory);
指派運算符
=就是指派運算符。
+= -= *= /= 複合指派運算符
num+=1;
num=num+1;
唯一的差別就是多了一個num
var weight=120;
weight=weight+20;
關系運算符
生活中的常見的關系有:大于,小于,等于,不等于,大于等于,小于等于(> < == != >= <=)。
==表示等于,用于判斷兩個值是否相等,如果是一個常量和一個變量做比較,把常量寫在前面,把變量寫在後面,這樣可以避免少寫一個=的錯誤。
var num=1;
alert(1=num);
因為開發工具會提示,常量不能被指派的錯誤。
絕對等于和絕對不等于
===既去比較資料的值也比較資料的類型,而==隻比較資料的值。
!==也去比較資料的值和類型,而!=隻比較值。
var num=1;
var str="1";
alert(str==num);//true
alert(str===num);//false
邏輯運算符
與或非
&& || !
邏輯運算符一般用于連接配接多個關系。并得到最終的值是真是假。
與關系,所有的都為真結果才為真。
或關系,至少有一個為真結果也為真。
非關系,真為假,假為真。
與關系的執行順序,從頭開始一直到有一個不成立就停止。
或關系會從頭到尾去執行。去百度查一下,然後寫一個部落格。
算術運算符
+ - * / %
在使用的過程中和生活中的一樣,隻有這個+号有差別。
如果是兩個數使用+就是加法
如果是字元串使用+就是拼接
var str="1";
var str2="2";
alert(str+str2);
是以我們進行算術運算時必須要确定變量的類型。如果是字元串就要轉化成數值才能進行算術運算。
var num1=Number(prompt("請輸入一個數"));//Number強制轉換
var num2=Number(prompt("請輸入第二個數"));
alert(num1+num2);
%得到兩個數的餘數
1. 通過取餘運算,你可獲得任何任何一個數個位上的數。
2. 解決周期性問題
var date=Number(prompt("請輸入今天是星期幾"));
date=(date+12)%7;
alert(date);
位運算符
用于二進制,與 或 異或
5:101
6.110
&用來表示與運算,11的結果為1其餘全為0
|或許算,00的結果為0,其餘全為1
^異或運算,相同的結果為0,不同的結果為1,比如10的結果為1,11的結果為0
用來區分權限身份
一個系統總共有11個權限,财務管理者擁有11個權限,主任管理者擁有5個權限,班長管理者擁有3個權限
var num1=5;
var num2=6;
alert(num1.toString(2));
alert(num2.toString(2));
alert(num1.toString(2)|num2.toString(2));
alert(num1.toString(2)^num2.toString(2));
alert(num1.toString(2)&num2.toString(2));
程式設計思維
使用者輸入任意一個三位數,獲得這三個數各個位數的加和并列印。
1. 接受使用者輸入的數并把他存入一個變量當中(num)
2. 計算出這個三位數的百位數,除以100取整
3. 計算出這個三位數的十位數,除以10取整再對10取餘數
4. 計算個位數,對10取餘數
5. 将個位十位百位加和并指派給num1
6. 列印結果
var num=(prompt("輸入任意一個三位數"))
var a=Math.floor(num/100);//取整
var b=Math.floor(num/10)%10;
var c=num%10;
var num1=a+b+c;
alert(num1);
什麼叫程式?
生活當中有許多程式:比如
食堂打飯:1.掃碼付錢
2.選擇要打的菜
加 米飯
吃飯
将垃圾放到資源回收筒
什麼是程式設計:
程式設計就是根據業務的需要,制定做這個事情的流程。用計算機語言去翻譯這個流程。
對我們的要求
1.熟悉業務,能夠将業務抽象為流程。
2.熟悉計算機語言。
程式設計思維很重要,這個也叫程式設計的能力,和哪種計算機語言沒有關系,比如java php js,他們的思維都一樣,學會站在計算機的角度去分析問題
根據三角形的三邊去計算三角形的面積(海倫公式:三角形的面積等于三角形的半周長p(半周長)S=Math.sqrt(p*(p-a)*(p-b)*(p-c))
var a=Number(prompt("請輸入數字"));//接受使用者輸入的第一個邊長a
var b=Number(prompt("請輸入數字"));//接受使用者輸入的第二個邊長b
var c=Number(prompt("請輸入數字"));//接受使用者輸入的第三個邊長c
if(a+b>c&&a+c>b&&b+c>a){
var p=(a+b+c)/2;//計算三角形的半周長并指派給p
var S=Math.sqrt(p*(p-a)*(p-b)*(p-c));//計算三角形的面積
alert("該三角形的面積為"+S);//列印三角形面積
}else{
alert("對不起,您輸入的三個邊長不能構成三角形");
}
話費計時器。1.2/分鐘,要求輸入時間數列印要付的錢。
var time=Number(prompt("通話時間(秒):"));//輸入通話時間(s)
var price=1.2;
var money=Math.ceil(time/60)*price;//運用向上取整函數計算通話費用
alert("本次通話費用為:"+money.toFixed(2));//列印通話費用并保留兩位小數