这里有新鲜出炉的 Javascript 教程,程序狗速度看过来!
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
整理 Javascript 基础语法学习笔记,之前一系列的文章是跟我学习 Javascript,本文就是进一步学习 javascript 基础语法,希望大家继续关注
1、什么是变量 字面意思:变量是可变的量; 编程角度:变量是用于存储某种 / 某些数值的存储器。我们可以把变量看做一个盒子,盒子用来存放物品,物品可以是衣服、玩具、水果... 等。
2、表达出你的想法 (表达式) 表达式与数学中的定义相似,表达式是指具有一定的值、用操作符把常数和变量连接起来的代数式。一个表达式可以包含常数或变量。
字符串表达式:"I" + "love" + "you" + mychar // 编写串表达式,值为字符串。
数值表达式:num + 5*32 + 2.5 // 编写数值表达式,值为数值。
布尔表达式:2>3 num==5 num<60 // 编写布尔值 true 或 flase 的表达式
小明有 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 中,"+" 不只是代表加法,还可以连接两个字符串。
- mystring = "Java" + "Script"; //mystring的值"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>
来源: http://www.phperz.com/article/17/0408/268426.html