1、什麼是變數
字面意思:變數是可變的量;
程式設計角度:變數是用來儲存某種/某些數值的記憶體。我們可以把變數看做一個盒子,盒子用來存放物品,物品可以是衣服、玩具、水果...等。
2、表達你的想法(表達式)
表達式與數學中的定義相似,表達式是指具有一定的值、用運算元把常數和變數連接起來的代數式。一個表達式可以包含常數或變數。
字串表達式:"I" "love" "you" mychar //寫字串表達式,值為字串。
數值運算式:num 5*32 2.5 //寫出數值運算式,值為數值。
布林運算式:2>3 num==5 num
小明有10元錢,買了一個本,花了5元,小紅說:"你剩下的錢加上我的6元錢,就可以買個鉛筆盒了。
<script type="text/javascript"> var num1 = 10-5;//计算小明剩下多少钱 var num2 = num1+6;//小红花多少钱买铅笔盒 document.write("小明还剩:"+num1+"元"+"<br>"); document.write("小红花:"+num2+"元买个铅笔盒"); </script>
3、 號運算子
操作符是用來在JavaScript中指定一定動作的符號。
(1)操作符
sun = numa numb;
其中「=」和「 」都是運算子。
算數運算元( 、-、*、/等)
比較運算子(<、>、>=、<=等)
邏輯運算子(&&、||、!)。
注意:「=」操作符是賦值,不是等於。
(2)「 」操作符
在JavaScript中,「 」不只是代表加法,還可以連接兩個字串。
4、自加一,自減一 ( 和- -)
算術運算符除了( 、-、*、/)外,還有兩個非常常用的運算符,自加一「 」;自減一「--」。首先來看一個例子:
mynum = 10; mynum++; //mynum的值变为11 mynum--; //mynum的值又变回10
上面的例子中,mynum 使mynum值在原基礎上增加1,mynum--使mynum在原基礎上減去1,其實也可以寫成:
mynum = mynum + 1;//等同于mynum++ mynum = mynum - 1;//等同于mynum--
5、比較運算子
我們先來做道數學題,數學考試成績中,小明考了90分,小紅考了95分,問誰考的分數高?
答: 因為“95 > 90”,所以小紅考試成績高。
其中大於號">" 是比較操作符,小紅考試成績和小明考試成績就是操作數,是兩個操作數。
也就是說兩個操作數透過比較運算子進行比較,得到值為真(true)和假(false)。
操作符的意思:
< 小於
> 大於
<= 小於或等於
>= 大於或等於
== 等於
!= 不等於
var a = 5;//定义a变量,赋值为5 var b = 9; //定义b变量,赋值为9 document.write (a<b); //a小于b的值吗? 结果是真(true) document.write (a>=b); //a大于或等于b的值吗? 结果是假(false) document.write (a!=b); //a不等于b的值吗? 结果是真(true) document.write (a==b); //a等于b的值吗? 结果是假(false)
相等運算子==並不表示嚴格相等。例如:比較false與一個空字串會得到什麼結果?
var a = false; var b = ""; if(a == b){ alert("a equals b"); } //这个条件语句的求值结果是true。因为相等操作符==认为空字符串于false的含义相同。要进行严格比较,就要使用另一种等号(===)。这个全等操作符会执行严格的比较,不仅比较值,而且会比较变量的类型: var a = false; var b = ""; if (a === b){ alert("a equals b"); }
這次,條件表達的求值結果就是false了。因為即使認為false與空字串具有相同的意義,但Boolean和String可不是一種型別。
對於不等運算子!=也是如此。如果想比較嚴格的不相等就要使用!==。
6、邏輯與運算子
數學裡"a>b",JavaScript裡也表示"a>b";數學中的"b大於a,b小於c"是"a
b>a && b
if(有准考证 &&有身份证) { 进行考场考试 }
“&&”是逻辑与操作符,只有“&&”两边值同时满足(同时为真),整个表达式值才为真。
逻辑与操作符值表:
注意: 如果A为假,A && B为假,不会在执行B; 反之,如果A为真,要由 B 的值来决定 A && B 的值。
7、我或你都可以 (逻辑或操作符)
"||"逻辑或操作符,相当于生活中的“或者”,当两个条件中有任一个条件满足,“逻辑或”的运算结果就为“真”
逻辑或操作符值表:
注意: 如果A为真,A || B为真,不会在执行B; 反之,如果A为假,要由 B 的值来决定 A || B 的值
<script type="text/javascript"> var numa,numb,jq1; numa=50; numb=55; jq1= numa>numb||numa==numb; document.write("jq1的值是:"+jq1+"<br>") </script>
8、是非颠倒(逻辑非操作符)
"!"是逻辑非操作符,也就是"不是"的意思,非真即假,非假即真。
逻辑非操作符值表:
例:
var a=3; var b=5; var c; c=!(b>a); // b>a值是true,! (b>a)值是false c=!(b<a); // b<a值是false, ! (b<a)值是true
<script type="text/javascript"> var numa,numb,jq1; numa=60; numb=70; jq1=!(numa<numb); document.write("jq1的值是:"+jq1+"<br>")//输出值jq1的值是:false </script>
保持先后顺序(操作符优先级)
例一:
var numa=3; var numb=6 jq= numa + 30 / 2 - numb * 3; // 结果为0
例二:
var numa=3; var numb=6 jq= ((numa + 30) / (2 - numb)) * 3; //结果是-24.75
操作符之间的优先级(高到低):
算术操作符 → 比较操作符 → 逻辑操作符 → "="赋值符号
如果同级的运算是按从左到右次序进行,多层括号由里向外。
var numa=3; var numb=6; jq= numa + 30 >10 && numb * 3<2; //结果为false <script type="text/javascript"> var numa,numb,jq1; numa=5; numb=2; jq1=numa + 30 >10 && numb * 3<20; jq2=((numa + 30) / (7-numb)) * 3 document.write("jq1的值是:"+jq1+"<br>");//jq1的值是:true document.write("jq2的值是:"+jq2);//jq2的值是:21 </script> <script type="text/javascript"> var a,b,sum; var a = 5; var b = 100%7; sum = a > b && a*b > 0 ; document.write( "我认为 a 的值是:" + 5 + " b的值是:" + 2 + "sum 的值是:" + true+"<br/>"); document.write( "答案是,第一轮计算后,a 为:"+ a +";b为:"+b +";第一次计算sum为:"+ sum +"<br/>"); sum = ( (++a) + 3 ) / (2 - (--b) ) * 3; document.write( "再一次计算后,我认为 a 的值是:" + 6 + " b的值是:" + 1 + "sum 的值是:" + 27 +"<br/>"); document.write( "答案是,第二轮计算后,a 为:" + a + ";b为:" + b +";第二次计算sum为:"+ sum +",sum的类型也发生变化了。"); </script>
以上就是关于Javascript基础语法的全部内容,希望对大家的学习有所帮助。