整理Javascript基础语法学习笔记


Posted in Javascript onNovember 29, 2015

1、什么是变量
字面意思:变量是可变的量;
编程角度:变量是用于存储某种/某些数值的存储器。我们可以把变量看做一个盒子,盒子用来存放物品,物品可以是衣服、玩具、水果...等。 

2、表达出你的想法(表达式)
表达式与数学中的定义相似,表达式是指具有一定的值、用操作符把常数和变量连接起来的代数式。一个表达式可以包含常数或变量。

 整理Javascript基础语法学习笔记

字符串表达式:"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<c",JavaScript中用&&表示。
b>a && b<c //"&&"是并且的意思,读法“b大于a”并且“b小于c”
好比我们参加高考时,在进入考场前,必须出示准考证和身份证,两者缺一不可,否则不能参加考试,表示如下:

if(有准考证 &&有身份证) 
 {
 进行考场考试
 }

“&&”是逻辑与操作符,只有“&&”两边值同时满足(同时为真),整个表达式值才为真。
逻辑与操作符值表:

整理Javascript基础语法学习笔记

注意: 如果A为假,A && B为假,不会在执行B; 反之,如果A为真,要由 B 的值来决定 A && B 的值。

7、我或你都可以 (逻辑或操作符)
"||"逻辑或操作符,相当于生活中的“或者”,当两个条件中有任一个条件满足,“逻辑或”的运算结果就为“真”
逻辑或操作符值表:

 整理Javascript基础语法学习笔记

注意: 如果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、是非颠倒(逻辑非操作符)
"!"是逻辑非操作符,也就是"不是"的意思,非真即假,非假即真。
逻辑非操作符值表:

整理Javascript基础语法学习笔记

例:

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基础语法的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
jquery 圆形旋转图片滚动切换效果
Jan 19 Javascript
JavaScript XML和string相互转化实现代码
Jul 04 Javascript
js两行代码按指定格式输出日期时间
Oct 21 Javascript
javascript禁用键盘功能键让右击及其他键无效
Oct 09 Javascript
一个支付页面DEMO附截图
Jul 22 Javascript
JS判断图片是否加载完成方法汇总(最新版)
May 13 Javascript
Bootstrap页面缩小变形的快速解决办法
Feb 03 Javascript
vue的Virtual Dom实现snabbdom解密
May 03 Javascript
Vue.js实现数据响应的方法
Aug 13 Javascript
详解如何快速配置webpack多入口脚手架
Dec 28 Javascript
JS隐藏号码中间4位代码实例
Apr 09 Javascript
vue如何实现自定义底部菜单栏
Jul 01 Javascript
Jquery操作Ajax方法小结
Nov 29 #Javascript
jquery+php实现滚动的数字特效
Nov 29 #Javascript
MVC Ajax Helper或Jquery异步加载部分视图
Nov 29 #Javascript
Javascript闭包实例详解
Nov 29 #Javascript
jQuery实现图片上传和裁剪插件Croppie
Nov 29 #Javascript
javascript高级编程之函数表达式 递归和闭包函数
Nov 29 #Javascript
javascript实现拖动元素交换位置
Nov 29 #Javascript
You might like
兼容各大浏览器带关闭按钮的漂浮多组图片广告代码
2014/06/05 PHP
PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法
2019/04/16 PHP
sina的lightbox效果。
2007/01/09 Javascript
js 判断浏览器类型 去全角、半角空格 自动关闭当前窗口
2009/04/10 Javascript
JavaScript 异步调用框架 (Part 1 - 问题 &amp; 场景)
2009/08/03 Javascript
javascript JSON操作入门实例
2010/04/16 Javascript
juqery 学习之三 选择器 层级 基本
2010/11/25 Javascript
javascript获取当前日期时间及其它操作函数
2011/01/11 Javascript
如何让div span等元素能响应键盘事件操作指南
2012/11/13 Javascript
javascript数组的使用
2013/03/28 Javascript
js截取字符串的两种方法及区别详解
2013/11/05 Javascript
JS复制内容到剪切板的实例代码(兼容IE与火狐)
2013/11/19 Javascript
javascript间隔定时器(延时定时器)学习 间隔调用和延时调用
2014/01/13 Javascript
JavaScript关联数组用法分析【概念、定义、遍历】
2017/03/15 Javascript
vue 微信授权登录解决方案
2018/04/10 Javascript
Webstorm2016使用技巧(SVN插件使用)
2018/10/29 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧滑动,右侧不动)
2019/01/23 Javascript
微信小程序图表插件wx-charts用法实例详解
2019/05/20 Javascript
vue实现后台管理权限系统及顶栏三级菜单显示功能
2019/06/19 Javascript
[52:02]DOTA2-DPC中国联赛 正赛 Phoenix vs Dragon BO3 第二场 2月26日
2021/03/11 DOTA
Python中input与raw_input 之间的比较
2017/08/20 Python
Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)
2018/04/30 Python
python版大富翁源代码分享
2018/11/19 Python
Pandas之DataFrame对象的列和索引之间的转化
2019/06/25 Python
解决pycharm运行程序出现卡住scanning files to index索引的问题
2019/06/27 Python
澳大利亚领先的折扣药房:Chemist Direct(有中文站)
2018/11/24 全球购物
SQL Server 2000数据库的文件有哪些,分别进行描述。
2015/11/09 面试题
Java如何支持I18N?
2016/10/31 面试题
Servlet的实例是在生命周期什么时候创建的?配置servlet最重要的是什么?
2012/05/30 面试题
本科应届生求职信
2014/08/05 职场文书
党建工作整改措施
2014/10/28 职场文书
出国签证在职证明范本
2014/11/24 职场文书
2015年宣传部部长竞选演讲稿
2014/11/28 职场文书
通知范文怎么写
2015/04/16 职场文书
2015年派出所工作总结
2015/04/24 职场文书
《生物入侵者》教学反思
2016/02/16 职场文书