Javascript学习笔记-----运算符
2013-04-08 11:59
447 查看
js字符串连接用 +,VBS字符串连接用&
给定 y=5,下面的表格解释了这些算术运算符:
JavaScript 赋值运算符
赋值运算符用于给 JavaScript 变量赋值。
给定 x=10 和 y=5,下面的表格解释了赋值运算符:
JavaScript比较运算符
比较和逻辑运算符用于测试 true 或 false。比较运算符在逻辑语句中使用,以测定变量或值是否相等。
给定 x=5,下面的表格解释了比较运算符:
给定 x=6 以及 y=3,下表解释了逻辑运算符:
"&&"的行为有时称作“短路”,可以利用这一特性有条件的执行代码:
if(a == b) stop() ;
(a==b)&&stop();
两段代码等价。
例子 greeting=(visitor=="PRES")?"Dear President ":"Dear ";
执行字符串形式的JavaScript表达式或语句,并返回结果(如果有)。
eval函数语法
eval ( codes );
eval函数参数
codes -- 字符串形式的表达式或语句
eval函数返回值
如果没有参数,返回undefined
如果有返回值将返回此值,否则返回undefined
如果为表达式,返回表达式的值
如果为语句返回语句的值
如果为多条语句或表达式返回最后一条语句的值
该函数可以把一个字符串当作一个JavaScript表达式一样去执行它,具体来说,就是eval接受一个字符串类型的参数,
将这个字符串作为代码在上下文环境中执行,并返回执行的结果。
举个小例子:
var the_unevaled_answer = "2 + 3";
var the_evaled_answer = eval("2 + 3");
alert("the un-evaled answer is " + the_unevaled_answer + " and the evaled answer is " + the_evaled_answer);
如果你运行这段eval程序, 你将会看到在JavaScript里字符串"2 + 3"实际上被执行了。
所以当你把the_evaled_answer的值设成 eval("2 + 3")时, JavaScript将会明白并把2和3的和返回给the_evaled_answer。
eval函数说明
使用eval解析JSON对象
除了解析JSON对象外,eval在程序中很少使用
结果:
typeof 是一个操作符,主要的目的是检测一个变量是不是基本数据类型的变量,同时也可以说是确定一个变量是字符串,数值,布尔值,还是undefined
的最佳工具。
typeof 示例代码
[javascript] view
plaincopy
var a="zhangqian";
var b=true;
var c=10;
var d;
var e=null;
var f=new Object();
alert(typeof a); //string
alert(typeof b); //number
alert(typeof c); //boolean
alert(typeof d); //undefined
alert(typeof e); //object
alert(typeof f); //object
typeof应该注意的问题?
使用typeof操作符的时候,如果检测对象是函数,那么操作符返回"function" ,如果检测对象是正则表达式的时候,在Safari和Chrome中使用typeof的时候会错误的返回"function",
其他的浏览器返回的是object.
instanceof是什么?
instanceof主要的目的是检测引用类型,判断对象是Array,还是RegExp!
instanceof示例代码?
[javascript] view
plaincopy
var array=new Array();
var object=new Object();
var regexp=new RegExp();
function func(){};
var func1=new func();
alert(array instanceof Array); //true
alert(object instanceof Object); //true
alert(regexp instanceof RegExp); //true
alert(func1 instanceof func); //true
instanceof应该注意的问题?
大家都知道Object是所有对象的基类,所以在alert(array instanceof Object) 返回的结果同样也是true,还有就是instanceof的语法一定不要写错了 variable instanceof constructor !
typeof 和instanceof的联系
其实typeof和instanceof的目的都是检测变量的类型,两个的区别在于typeof一般是检测的是基本数据类型,instanceof主要检测的是引用类型!
JavaScript 算术运算符
算术运算符用于执行变量与/或值之间的算术运算。给定 y=5,下面的表格解释了这些算术运算符:
运算符 | 意思 | 例如(y=5) | 值 | VBS |
+ | 加 | x=y+2 | x=7 | + |
- | 减 | x=y-2 | x=3 | - |
* | 乘 | x=y*2 | x=10 | * |
/ | 除 | x=y/2 | x=2.5 | / (整除是\) |
% | 求余数 (保留整数) | x=y%2 | x=1 | mod |
++ | 累加 | x=++y | x=6 | ++ |
-- | 递减 | x=--y | x=4 | -- |
赋值运算符用于给 JavaScript 变量赋值。
给定 x=10 和 y=5,下面的表格解释了赋值运算符:
运算符 | 表达式 | 等价于 | 值 | vbs |
= | x=y | x=5 | = | |
+= | x+=y | x=x+y | x=15 | += |
-= | x-=y | x=x-y | x=5 | -= |
*= | x*=y | x=x*y | x=50 | *= |
/= | x/=y | x=x/y | x=2 | /= |
%= | x%=y | x=x%y | x=0 |
比较和逻辑运算符用于测试 true 或 false。比较运算符在逻辑语句中使用,以测定变量或值是否相等。
给定 x=5,下面的表格解释了比较运算符:
运算符 | 描述 | 例子 | vbs |
== | 等于 | x==8 为 false | = |
=== | 全等(值和类型) | x===5 为 true;x==="5" 为 false | |
!= | 不等于 | x!=8 为 true | <> |
> | 大于 | x>8 为 false | > |
< | 小于 | x<8 为 true | < |
>= | 大于或等于 | x>=8 为 false | >= |
<= | 小于或等于 | x<=8 为 true | <= |
JavaScript逻辑运算符
逻辑运算符用于测定变量或值之间的逻辑。给定 x=6 以及 y=3,下表解释了逻辑运算符:
运算符 | 描述 | 例子 | vbs |
&& | and | (x < 10 && y > 1) 为 true | and |
|| | or | (x==5 || y==5) 为 false | or |
! | not | !(x==y) 为 true | not |
if(a == b) stop() ;
(a==b)&&stop();
两段代码等价。
JavaScript条件运算符
语法 variablename=(condition)?value1:value2例子 greeting=(visitor=="PRES")?"Dear President ":"Dear ";
in运算符
in运算符是他的左操作数是一个字符串或可以转换成字符串,右操作数是一个对象,如果右侧对象拥有名为左操作数值的属性名,表达式返回TRUE。var point = {x:1,y:1};//定义一个对象 "x" in point //ture "z" in point //false "toString" in point //true
instanceof运算符
左操作数是一个对象,右操作数标识对象的类。var d= new Date(); d instanceod; Date //true d instanceod; Obiect//true d instanceod; NUMBER//false
eval()
eval --执行字符串形式的JavaScript表达式或语句,并返回结果(如果有)。
eval函数语法
eval ( codes );
eval函数参数
codes -- 字符串形式的表达式或语句
eval函数返回值
如果没有参数,返回undefined
如果有返回值将返回此值,否则返回undefined
如果为表达式,返回表达式的值
如果为语句返回语句的值
如果为多条语句或表达式返回最后一条语句的值
该函数可以把一个字符串当作一个JavaScript表达式一样去执行它,具体来说,就是eval接受一个字符串类型的参数,
将这个字符串作为代码在上下文环境中执行,并返回执行的结果。
举个小例子:
var the_unevaled_answer = "2 + 3";
var the_evaled_answer = eval("2 + 3");
alert("the un-evaled answer is " + the_unevaled_answer + " and the evaled answer is " + the_evaled_answer);
如果你运行这段eval程序, 你将会看到在JavaScript里字符串"2 + 3"实际上被执行了。
所以当你把the_evaled_answer的值设成 eval("2 + 3")时, JavaScript将会明白并把2和3的和返回给the_evaled_answer。
eval函数说明
使用eval解析JSON对象
除了解析JSON对象外,eval在程序中很少使用
var json =eval("({sitename:'dreamdu',sitedate:new Date(1980, 12, 17, 12,0,0)})"); document.write(json.sitename); document.write(json.sitedate);
结果:
dreamduSat Jan 1712:00:00 UTC+0800 1981
typeof 和 instanceof 的区别和联系
typeof是什么?typeof 是一个操作符,主要的目的是检测一个变量是不是基本数据类型的变量,同时也可以说是确定一个变量是字符串,数值,布尔值,还是undefined
的最佳工具。
typeof 示例代码
[javascript] view
plaincopy
var a="zhangqian";
var b=true;
var c=10;
var d;
var e=null;
var f=new Object();
alert(typeof a); //string
alert(typeof b); //number
alert(typeof c); //boolean
alert(typeof d); //undefined
alert(typeof e); //object
alert(typeof f); //object
typeof应该注意的问题?
使用typeof操作符的时候,如果检测对象是函数,那么操作符返回"function" ,如果检测对象是正则表达式的时候,在Safari和Chrome中使用typeof的时候会错误的返回"function",
其他的浏览器返回的是object.
instanceof是什么?
instanceof主要的目的是检测引用类型,判断对象是Array,还是RegExp!
instanceof示例代码?
[javascript] view
plaincopy
var array=new Array();
var object=new Object();
var regexp=new RegExp();
function func(){};
var func1=new func();
alert(array instanceof Array); //true
alert(object instanceof Object); //true
alert(regexp instanceof RegExp); //true
alert(func1 instanceof func); //true
instanceof应该注意的问题?
大家都知道Object是所有对象的基类,所以在alert(array instanceof Object) 返回的结果同样也是true,还有就是instanceof的语法一定不要写错了 variable instanceof constructor !
typeof 和instanceof的联系
其实typeof和instanceof的目的都是检测变量的类型,两个的区别在于typeof一般是检测的是基本数据类型,instanceof主要检测的是引用类型!
相关文章推荐
- JavaScript基础学习笔记(二)——JavaScript 注释、JavaScript 变量、JavaScript运算符
- JavaScript权威设计--JavaScript表达式与运算符,语句(简要学习笔记六)
- 韩顺平_轻松搞定网页设计(html+css+javascript)_第20讲_js基本数据类型_js运算符1_学习笔记_源代码图解_PPT文档整理
- Javascript 学习笔记之基本运算符测试
- 韩顺平_轻松搞定网页设计(html+css+javascript)_第21讲_js运算符2_js移位运算_学习笔记_源代码图解_PPT文档整理
- 【学习笔记】JavaScript——变量、常量、保留字、运算符与表达式、语句
- javascript学习笔记:new运算符
- 韩顺平 javascript教学视频_学习笔记3_js基本数据类型_js运算符
- (7)JavaScript学习笔记 - 运算符(续)
- JavaScript学习笔记——表达式与运算符
- javascript学习笔记(2):强制类型转换机制和运算符
- 韩顺平 javascript教学视频_学习笔记4_js运算符2_js移位运算
- [知了堂学习笔记]_JavaScript之typeof运算符
- (7)JavaScript学习笔记 - 运算符(续)
- JavaScript学习笔记_Javascript中delete运算符
- JavaScript高级程序设计(第3版)学习笔记4 js运算符和操作符
- JavaScript学习笔记第一天——运算符
- JavaScript学习笔记-- 运算符OPERATORS