文西马龙:http://blog.csdn.net/wenximalong/

js基本语法——运算符

关系运算符
①== 等于 ②> 大于 ③< 小于 ④>= 大于等于 ⑤<= 小于等于 ⑥!= 不等于

请大家看个案例,请问输出什么;
var a=90;
var b=90;
if(a==b){
alert("ok1");
}
b--;
if(a>b){
alert("ok2");
}
if(a>=b){
alert("ok3");
}

特别说明:
一个数和一个字符串比较有什么结果,即两个类型不一样的比较
a==b 究竟是在比较什么
例如下面:
并没有转成ASCII,而是先转成整数来用,例如a的ASCII值为97,但是 var a=97; var b='97';依然是no,自己测试
在实际的开发中要避免如此,如果别人问你是转成ASCII还是实际的数,进行比较,你应该清楚了。
========
var a=90;
var b="90";
if(a==b){
window.alert('ok'); //ok
}else{
window.alert('no');
}

demo1.html

<html><head><script language="javascript">var a=90;var b=90;if(a==b){window.alert('ok'); //ok}//不同类型的判断var b="abc";if(a==b){window.alert('ok');}else{window.alert('no');// no}var b="90";if(a==b){window.alert('ok'); //ok}else{window.alert('no');}var a=97;var b="a";if(a==b){window.alert('ok');}else{window.alert('no'); //no}</script></head><body></body>
</html>

介绍两个函数:window.prompt和document.writeln()

demo2.html

<html><head><script language="javascript">var val1=window.prompt("请输入值");var val2=window.prompt("请再输入值");document.writeln("你的输入是"+(parseFloat (val1)+parseFloat (val2)));</script></head><body></body>
</html>

案例:编写一个程序,该程序可以接收两个数(可以是整数,也可是小数),并判读这两个数是大于,小于,还是等于?

demo3.html

<html><head><script language="javascript">/*请编写一个程序,该程序可以接收两个数(可以是整数,也可是小数),并判读两个数是大于?小于?还是等于?*/var num1=window.prompt("请输入第一个数");var num2=window.prompt("请输入第二个数");num1=parseFloat(num1);num2=parseFloat(num2);if(num1>num2){window.alert("num1>num2");}else if(num1<num2){window.alert("num1<num2");}else{window.alert("num1=num2");}</script></head><body></body>
</html>

逻辑运算符
用于判断逻辑关系的运算符
①&& 与 ②|| 或 ③ ! 非

请大家看个案列,请问输出什么?
var a=90;
var b=90;
if(a==b||a>8){
window.alert("ok1");
}
b--;
if(a>b && a>45){
window.alert("ok2");
}
if(!(a<=b)){
window.alert("ok3");
}

在逻辑运算中,0、""、false、null、undefined、NaN均表示false
关于&&短路的问题,看demo4.html的代码
和 ++的问题,是先判断再加加;还是先加加再判断

demo4.html

<html><head><script language="javascript">var a=90;var b=9;if(a>b && a>345){window.alert('ok');}else{window.alert('no');}//如果是下面的情况,最后a为91if(a>b && ++a>345){window.alert('ok');}else{window.alert('no');}window.alert("a="+a);//如果是下面的情况,最后a为90var a=90;var b=9;// a<b不成立,因为是&&,直接就短路了,不再执行&&后面的语句了,直接就window.alert("no");。上面的在a>b成立的情况下,才去执行&&后面的语句。if(a<b && ++a>345){window.alert('ok');}else{window.alert('no');}window.alert("a="+a);//另外的情况var a=90;var b=9;//在 &&左半部分为真的情况下,然后a先 a>90,然后在a++,即是先判断,再加加if(a>b && a++>90){window.alert('ok90');}else{window.alert('no90');}window.alert("a="+a);</script></head><body></body>
</html>

逻辑与&& 注意:if(逻辑表达式1 && 逻辑表达式2){
}
如果 逻辑表达式1 为true 则js引擎会继续执行逻辑表达式2
如果 逻辑表达式1 为false 则不会执行逻辑表达式2

逻辑或||
if(逻辑表达式1||逻辑表达式2||……){
}
只要有一个逻辑表达式为true,整个就为true
如果逻辑表达式1为真,那么逻辑表达式2就不判断了(不再执行)
如果逻辑表达式1为假,则逻辑表达式2执行

特别强调:在js中,||究竟返回什么
★★★结论:|| 将返回第一个不为false那个值(对象亦可),或者是返回最后一个值(如果全部都是false的话)
不要把它理解为布尔值,甚至返回对象
返回的结果,不一定是布尔值

demo5.html

<html><head><script language="javascript">var a=true;var b=false;window.alert(a||b);//究竟返回什么// || 将返回第一个不为false那个值(对象亦可),或者是返回最后一个值(如果全部都是false的话)var a=4;var b=9;window.alert(a||b); //为什么返回4//**********var a=0;var b=9;window.alert(a||b); //返回9//****var a=0;var b="";var d=false;window.alert(a||b||d); //返回false//********//返回对象var a=0;var b="";var obj=new Object();var apple=a||b||obj;window.alert(typeof apple);</script></head><body></body>
</html>

位预算和移位运算 这个相对比较麻烦,是面试中经常最经典的考题。
js也有位运算和移位运算,其规范和java一致。

二进制——原码、反码、补码
基本概念:
网上对原码、反码、补码的解释过于复杂,这里精简几句话。
对于有符号的而言:
(1)二进制的最高位是符号位:0表示正数,1表示负数
(2)正数的原码、反码、补码都一样
(3)负数的反码=它的原码符号位不变,其它位取反(0->1,1->0)
(4)负数的补码=它的反码+1
(5)0的反码,补码都是0
(6)javascript没有无符号数,换言之,javascript中的数都是有符号的
(7)在计算机运算的时候,都是以补码的方式来运算的
-4 的原码 10000000 00000100
     反码 11111111 11111011
     补码 11111111 11111100
-4>>2 把最后的两个0移走,然后面前用11补上
即是      11111111 11111111
转成 反码 11111111 11111110  //减一
     原码 10000000 00000001  //符号位不变,全部取反
既是 -1

var a=4>>2; 结果是1

var b=-4>>2; 结果是-1

<html><head><script language="javascript">var a=4>>2;// 4 二进制 00000100 ----> 00000001window.alert(a);  //显示1var a=-4>>2;window.alert(a);  //显示-1</script></head><body></body>
</html>

韩顺平_php从入门到精通_视频教程_学习笔记_源代码图解_PPT文档整理_目录

韩顺平_轻松搞定网页设计(html+css+javascript)_第21讲_js运算符2_js移位运算_学习笔记_源代码图解_PPT文档整理相关推荐

  1. 韩顺平轻松搞定网页设计(html+css+js),韩顺平轻松搞定网页设计方案(html+css+js)之javascript现场授课笔记(完整版).doc...

    2011韩顺平轻松搞定网页设计(html+css+js)之 javascript现场授课笔记(完整版) 视频18整和19的前半部分不用看 Javascript的基本介绍 JS是用于WEB开发的脚本语言 ...

  2. 韩顺平php可爱屋源码_韩顺平_php从入门到精通_视频教程_第20讲_仿sohu主页面布局_可爱屋首页面_学习笔记_源代码图解_PPT文档整理...

    韩顺平_php从入门到精通_视频教程_第20讲_仿sohu首页面布局_可爱屋首页面_学习笔记_源代码图解_PPT文档整理 对sohu页面的分析 注释很重要 经验:写一点,测试一点,这是一个很好的方法. ...

  3. html百度首页制作视频,韩顺平 轻松搞定网页设计 html+css+js

    韩顺平老师的教程影响着一代又一代的学子们,他的视频教程确实做的很经典,不论是java.php还是网页设计,都有出彩的地方.这里,小编给大家分享韩顺平老师的轻松搞定网页设计教程,绝对完整,全部存于百度网 ...

  4. 几行代码轻松搞定网页的简繁转换(转载)

    对网页进行简繁字体转换的方法一般有两种:一是使用<简繁通>这样的专业软件,另外一种是制作两套版本的网页.显然,这两种方法都较为麻烦,而且专业软件一般不能用于免费的空间.笔者在这里给大家提供 ...

  5. html 简繁文件转换器,几行代码轻松搞定网页的简繁转换

    几行代码轻松搞定网页的简繁转换以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 对网页进行简繁字体转换的方法一般有两种 ...

  6. 几行代码轻松搞定网页的简繁转换

        对网页进行简繁字体转换的方法一般有两种:一是使用<简繁通>这样的专业软件,另外一种是制作两套版本的网页.显然,这两种方法都较为麻烦,而且专业软件一般不能用于免费的空间.笔者在这里给 ...

  7. 汇道科技传授5个排版技巧,帮你轻松搞定UI设计

    文字排版不只是从下拉选单选择字型和点数而已,文字排版是一项流传数世纪的技艺,自木制和金属的活版印刷便开始,而且它不只历史悠久,还很实用,大部分的人只要掌握一些实用的诀窍,就可以将之活用在诸如履历表.电 ...

  8. HTML5期末大作业——抗击疫情感动人物-逆行者(6页)专题网页设计 HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计

    HTML5期末大作业--抗击疫情感动人物-逆行者(6页)专题网页设计 HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 常见网页设计作业题材有 个人. 美 ...

  9. 网站后台没有提示声怎么办_收藏 | 没有 PS 怎么办?10个在线作图网站,轻松搞定图片设计...

    求职技巧 | 职业技能 | 通关考试,关注公众号:职域go Photoshop 已经成为大多数工作需要用到的工具,很多时候我们都要用到它来满足一些简单的排版.图片处理.尺寸调整或者是做一些简单的效果. ...

  10. sql 显示百分比_轻松搞定数据分析之SQL——简单查询

    每天早起或者睡前听一首温柔而美好的音乐,是一件很幸福的事情,无论你是否懂音乐,它都能带你发现生活中的隐藏的那些美好,今天我们先来一起欣赏Mindy Gledhill的单曲<California& ...

最新文章

  1. find -mtime时间算法
  2. 每天九点十分开始每半小时一次执行一个cron_每天通勤4小时!西咸双城生活的上班族,不简单...
  3. hdu 4049 Tourism Planning [ 状压dp ]
  4. 使用SpringBoot搭建一个简单的webSocket服务
  5. 同步,异步,多线程,你怎么看?
  6. 数据结构--图 Graph
  7. 静态路由心法口诀:路由表少什么网络加什么网络
  8. Java之Set接口
  9. Spring boot : @PostConstruct @PreDestroy
  10. linux shell 试题,linux-shell 练习题
  11. python 统计英文词频
  12. 白帽子讲web安全读后感2
  13. SpringBoot项目下载resources目录下模板文件
  14. mysql间隙锁 打开_MySQL数据库间隙锁
  15. 关于联想硬盘保护卡还原卡同传不能连接无法登录的解决方法
  16. 模板,宏,atuo关键字的简述
  17. word论文排版和写作02:插入算法的伪代码
  18. 一步一步搭建前端监控系统:如何记录用户行为?
  19. 旁门左道:让移动游戏在APP Store下载量暴涨的邪门功夫
  20. PS快速制作流血火焰和冰封字体

热门文章

  1. 智能科学技术导论周昌乐答案_智能科学技术导论 第02讲 机器系统.pdf
  2. 冰精冻西瓜[P3787洛谷]
  3. js逆向之猿人学-反混淆刷题平台第十题
  4. 听声辨位,一个让我感到毛骨悚然的 GitHub 项目!
  5. 困扰了很久的iis7里面的网站日志问题,动不动就把服务器系统盘塞满了
  6. 分享从大厂辞职创业后的日常
  7. 乘法逆元(编程计算)+两道版题
  8. 分枝杆菌有关的都有哪些文献?
  9. 全程软件测试_项目启动
  10. 《PADS 9.5电路设计与仿真从入门到精通》——1.2 PCB设计的基础