JavaScript 基础知识 被自己遗忘的


Posted in Javascript onOctober 15, 2009

5%10=5
x="5"+"5";
x="5"+5 ;
document.write(x);(?果都?椹s55)

undefined是未初始化的变量的值??]有引用值??儆谖炊?x
var anyway; anyway?儆谝讯?x 有默?空值

一元?算符?delete(?h除?﹂_?者定?的?ο蠛头椒ǖ囊?茅o不能?h除原始的ECMAScript方法)
void 运算符对任何值返回 undefined

没有返回值的函数真正返回的都是 undefined。

一元加法本质上对数字无任何影响。
一元加法计算字符串的方式与 parseInt() 相似
?^?e?只有一元加法才可以?Π诉M制?十六?制形式的字符串(如?OxB?010)?行??Q

一元减法?算字符串??⒆址???怀山?频氖?蜘o再对该值求负

ECMAScript 整数有两种类型:有符号整数和无符号整数

0 表示正数,1 表示负数
正数是以真二进制形式存储的
负数也存储为二进制代码,采用二进制补码。
计算数字二进制补码???χ登蠓醇右

在处理有符号整数时,开发者不能访问 31 位。

var iNum = -18;
alert(iNum.toString(2));
输出的是 "-10010"?非二进制补码??榱吮苊庠L??31位

无符号整数的数值范围为 0 到 4294967295
把无符号整数转换成字符串后,只返回它们的有效位。

位运算 NOT(~)?位运算 AND?位运算 OR(|)?无符号右移运算(>>>)
左移运算(<<)注意:左移运算保留数字的符号位
位运算 XOR由符号(^)表示
只有一个数位存放的是 1 时,它才返回 1
所有整数字面量都默认存储为有符号整数。
只有 ECMAScript 的位运算符才能创建无符号整数。

var iNum1 = 25; //25 等于 00000000000000000000000000011001
var iNum2 = ~iNum1; //转换为 11111111111111111111111111100110
alert(iNum2); //输出 "-26"

<!-- //-->与老的浏览器打交道
/* */多行注释

逻辑 NOT 运算符的行为如下:
* 如果运算数是数字 0,返回 true
* 如果运算数是 0 以外的任何数字,返回 false
* 如果运算数是 null,返回 true
* 如果运算数是 NaN,返回 true
* 如果运算数是 undefined,发生错误
!!sBlue?第一个 NOT 运算符返回 Boolean 值。第二个 NOT 将对该 Boolean 值求负

逻辑 AND 运算并不一定返回 Boolean 值:
* 如果一个运算数是对象,另一个是 Boolean 值,返回该对象。
* 如果两个运算数都是对象,返回第二个对象。
* 如果某个运算数是 null,返回 null。
* 如果某个运算数是 NaN,返回 NaN。

与逻辑 AND 运算符相似,如果某个运算数不是 Boolean 值,逻辑 OR 运算并不一定返回 Boolean 值:
* 如果一个运算数是对象,另一个是 Boolean 值,返回该对象。
* 如果两个运算数都是对象,返回第一个对象。
* 如果某个运算数是 null,返回 null。
* 如果某个运算数是 NaN,返回 NaN。

乘法运算符(*)
* 如果结果太大或太小,那么生成的结果是 Infinity 或 -Infinity。
* 如果某个运算数是 NaN,结果为 NaN。
* Infinity 乘以 0,结果为 NaN。
* Infinity 乘以 0 以外的任何数字,结果为 Infinity 或 -Infinity。
* Infinity 乘以 Infinity,结果为 Infinity。

除法运算符(/)
* 如果某个运算数是 NaN,结果为 NaN。
* Infinity 被 Infinity 除,结果为 NaN。
* Infinity 被任何数字除,结果为 Infinity。
* 0 除一个任何非无穷大的数字,结果为 NaN。
* Infinity 被 0 以外的任何数字除,结果为 Infinity 或 -Infinity。

取模运算符(%)
* 如果被除数是 Infinity,或除数是 0,结果为 NaN。
* Infinity 被 Infinity 除,结果为 NaN。
* 如果除数是无穷大的数,结果为被除数。
* 如果被除数为 0,结果为 0。

var bResult = "25" < "3";
两个运算数都是字符串,所以比较的是它们的字符代码,"2" 的字符代码是 50,"3" 的字符代码是 51
var bResult = "25" < 3;
字符串 "25" 将被转换成数字 25,然后与数字 3 进行比较
任何包含 NaN 的关系运算符都要返回 false ("a"<15?a?用parseInt() 返回NaN)

等号和非等号用于处理原始值(?绦星稗D?Q成?底种?,全等号和非全等号用于处理对象
执行类型转换的规则如下:
* 如果一个运算数是 Boolean 值,在检查相等性之前,把它转换成数字值。false 转换成 0,true 为 1(true != 2)
* 如果一个运算数是字符串,另一个是数字,在检查相等性之前,要尝试把字符串转换成数字。("5" == 5)
* 如果一个运算数是对象,另一个是字符串,在检查相等性之前,要尝试把对象转换成字符串。
* 如果一个运算数是对象,另一个是数字,在检查相等性之前,要尝试把对象转换成数字。
遵守下列规则:
* 值 null 和 undefined 相等。
* 在检查相等性时,不能把 null 和 undefined 转换成其他值。(undefined != 0,null != 0)
* 如果某个运算数是 NaN,等号将返回 false,非等号将返回 true。(NaN !=NaN)
* 如果两个运算数都是对象,那么比较的是它们的引用值。如果两个运算数指向同一对象,那么等号返回 true,否则两个运算数不等。

全等号和非全等号(不执行类型转换)

Javascript 相关文章推荐
Js数组的操作push,pop,shift,unshift等方法详细介绍
Dec 28 Javascript
jQuery中常用的遍历函数用法实例总结
Sep 01 Javascript
Validform+layer实现漂亮的表单验证特效
Jan 17 Javascript
Vue Socket.io源码解读
Feb 07 Javascript
在AngularJs中设置请求头信息(headers)的方法及不同方法的比较
Sep 04 Javascript
手把手教你写一个微信小程序(推荐)
Oct 17 Javascript
使用VUE+iView+.Net Core上传图片的方法示例
Jan 04 Javascript
ES7之Async/await的使用详解
Mar 28 Javascript
在layui中select更改后生效的方法
Sep 05 Javascript
vue内置组件component--通过is属性动态渲染组件操作
Jul 28 Javascript
详解微信小程序(Taro)手动埋点和自动埋点的实现
Mar 02 Javascript
使用Vue.js和MJML创建响应式电子邮件
Mar 23 Vue.js
javascript 操作cookies及正确使用cookies的属性
Oct 15 #Javascript
extjs 学习笔记(三) 最基本的grid
Oct 15 #Javascript
JavaScript Array扩展实现代码
Oct 14 #Javascript
JavaScript 动态创建VML的方法
Oct 14 #Javascript
JavaScript读取中文cookie时的乱码问题的解决方法
Oct 14 #Javascript
jQuery 标题的自动翻转实现代码
Oct 14 #Javascript
JavaScript 替换Html标签实现代码
Oct 14 #Javascript
You might like
PHP生成静态页面详解
2006/11/19 PHP
php小型企业库存管理系统的设计与实现代码
2011/05/16 PHP
php数组函数序列之array_combine() - 数组合并函数使用说明
2011/10/29 PHP
分享PHP函数实现数字与文字分页代码
2015/07/28 PHP
PHP实现微信发红包程序
2015/08/24 PHP
脚本安需导入(装载)的三种模式的对比
2007/06/24 Javascript
用js 让图片在 div或dl里 居中,底部对齐
2008/01/21 Javascript
jquery 学习笔记 传智博客佟老师附详细注释
2020/09/12 Javascript
jquery插件 cluetip 关键词注释
2010/01/12 Javascript
javascript oop开发滑动(slide)菜单控件
2010/08/25 Javascript
写出高效jquery代码的19条指南
2014/03/19 Javascript
解决checkbox的attr(checked)一直为undefined问题
2014/06/16 Javascript
css如何让浮动元素水平居中
2015/08/07 Javascript
配置Grunt的Task时通配符支持和动态生成文件名问题
2015/09/06 Javascript
javascript实现很浪漫的气泡冒出特效
2020/09/05 Javascript
微信小程序实现锚点定位楼层跳跃的实例
2017/05/18 Javascript
在原生不支持的旧环境中添加兼容的Object.keys实现方法
2017/09/11 Javascript
页面内锚点定位及跳转方法总结(推荐)
2019/04/24 Javascript
[19:14]DOTA2 HEROS教学视频教你分分钟做大人-维萨吉
2014/06/24 DOTA
[15:41]教你分分钟做大人——灰烬之灵
2015/03/11 DOTA
Python3爬虫之自动查询天气并实现语音播报
2019/02/21 Python
Python3.5内置模块之os模块、sys模块、shutil模块用法实例分析
2019/04/27 Python
简单分析python的类变量、实例变量
2019/08/23 Python
详解python uiautomator2 watcher的使用方法
2019/09/09 Python
python如何导出微信公众号文章方法详解
2020/08/31 Python
Python中openpyxl实现vlookup函数的实例
2020/10/28 Python
python如何实现递归转非递归
2021/02/25 Python
Larsson & Jennings官网:现代瑞士钟表匠
2018/03/20 全球购物
Liu Jo西班牙官网:意大利服装品牌
2019/09/11 全球购物
大学生毕业求职找工作的自我评价
2013/09/29 职场文书
小学教师事迹材料
2014/01/13 职场文书
《翻越远方的大山》教学反思
2014/04/13 职场文书
党员民主生活会整改措施
2014/09/26 职场文书
地下停车场租赁协议范本
2014/10/07 职场文书
小升初自荐信怎么写
2015/03/26 职场文书
mysql 子查询的使用
2022/04/28 MySQL