<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>给你的爱</title>
</head>
<body>
<!--
作者:offline
时间:2017-04-13
描述:void运算符:让浏览器不必显示这个表达式的计算结果
-->
<a href="javascript:void window.open();">打开一个新窗口</a>
<script type="text/javascript">
//位运算符
/* 按位运算符是把操作数看作一系列单独的位,而不是一个数字值。所以在这之前,不得不提到什么是“位”:
数值或字符在内存内都是被存储为0和1的序列,每个0和1被称之为1个位,比如说10进制数据2在计算机内被存储为 0 0 0 0 0 0 1 0,
当我们将内存内的位值改变之后,这个值代表的意义也就变了,比如把2前移动一位, 现在存储单元里面变成了0 0 0 0 0 1 0 0,
这个值表示的是十进制的4,这也就是按位操作符的运算原理
* */
console.log("按位与(&)");
console.log("按位或(|)");
console.log("按位异或(^)");
console.log("按位非(~)");
console.log("按位左移(<<)");//左移一位相当于乘以2,新的弟一位用0来补充,舍弃第32位
console.log("按位右移(>>)");//右移一位相当于除以2,右边溢出的位忽略,第一个操作数是正数,最高位0,负数,1
console.log("按位右移(>>>)");//右移一位相当于除以2,左边最高位总是0
console.log(1234&1334);
console.log(0&1);
console.log(0x234&0x00FF)
//in运算符
var point={x:1,y:2};
console.log("x" in point);//对象有x的属性
console.log("z" in point);//对象没有z的属性
console.log("toString" in point);//对象继承了toString()的方法
var data=[1,3,5];
console.log("0" in data);//数组包含元素“0”
console.log(0 in data);
console.log(3 in data);//没有索引为3的元素
//instanceof运算符希望左操作数是一个对象,右操作数是标识对象的类
var dats=new Date();
console.log(dats instanceof Date);
console.log(dats instanceof Object);
//typeof运算符
console.log(typeof "me");
console.log(typeof true);
console.log(typeof 2);
//delete运算符
delete point.x;
delete data[1];//删除下标为1的元素,但数组长度不变
console.log(0 in data);
console.log(data.length);
//逗号运算符
for(var i=0,j=10;i<j;i++,j--)
{
console.log(i+j);
}
</script>
</body>
</html>
<html>
<head>
<meta charset="UTF-8">
<title>给你的爱</title>
</head>
<body>
<!--
作者:offline
时间:2017-04-13
描述:void运算符:让浏览器不必显示这个表达式的计算结果
-->
<a href="javascript:void window.open();">打开一个新窗口</a>
<script type="text/javascript">
//位运算符
/* 按位运算符是把操作数看作一系列单独的位,而不是一个数字值。所以在这之前,不得不提到什么是“位”:
数值或字符在内存内都是被存储为0和1的序列,每个0和1被称之为1个位,比如说10进制数据2在计算机内被存储为 0 0 0 0 0 0 1 0,
当我们将内存内的位值改变之后,这个值代表的意义也就变了,比如把2前移动一位, 现在存储单元里面变成了0 0 0 0 0 1 0 0,
这个值表示的是十进制的4,这也就是按位操作符的运算原理
* */
console.log("按位与(&)");
console.log("按位或(|)");
console.log("按位异或(^)");
console.log("按位非(~)");
console.log("按位左移(<<)");//左移一位相当于乘以2,新的弟一位用0来补充,舍弃第32位
console.log("按位右移(>>)");//右移一位相当于除以2,右边溢出的位忽略,第一个操作数是正数,最高位0,负数,1
console.log("按位右移(>>>)");//右移一位相当于除以2,左边最高位总是0
console.log(1234&1334);
console.log(0&1);
console.log(0x234&0x00FF)
//in运算符
var point={x:1,y:2};
console.log("x" in point);//对象有x的属性
console.log("z" in point);//对象没有z的属性
console.log("toString" in point);//对象继承了toString()的方法
var data=[1,3,5];
console.log("0" in data);//数组包含元素“0”
console.log(0 in data);
console.log(3 in data);//没有索引为3的元素
//instanceof运算符希望左操作数是一个对象,右操作数是标识对象的类
var dats=new Date();
console.log(dats instanceof Date);
console.log(dats instanceof Object);
//typeof运算符
console.log(typeof "me");
console.log(typeof true);
console.log(typeof 2);
//delete运算符
delete point.x;
delete data[1];//删除下标为1的元素,但数组长度不变
console.log(0 in data);
console.log(data.length);
//逗号运算符
for(var i=0,j=10;i<j;i++,j--)
{
console.log(i+j);
}
</script>
</body>
</html>