JavaScript--赋值表达式(typeof-delete-void)
typeof运算符
typeof是一个一元运算符,操作数可以使任意类型,返回值为操作数类型的一个字符串
一、数字类型,如typeof(1),返回的值就是number。当然这个是常规数字,对于非常规的数字类型来说,其结果返回的也是number。
比如NaN,返回的也是number。
二、字符串类型, typeof 返回的值是 string。比如typeof("123")返回的值是string。
三、布尔类型, typeof 返回的值是 boolean 。比如typeof(true)返回的值是boolean。
四、对象、数组、null 返回的值是 object 。比如typeof(window),typeof(document),typeof(null)返回的值都是object。
五、函数类型,返回的值是 function。比如:typeof(eval)返回的值是function。
六、如果运算数是没有定义的(比如说不存在的变量、函数或者undefined),将返回undefined。比如:typeof(undefined)返回undefined。
delete运算符
delete也是一个一元运算符,是用来做删除操作的,不是用来返回一个值的。
delete的操作数是一个左值,如果它不是左值,那么delete将不进行任何操作,同时返回true。
有一些数是不可删除的:
1、内置核心和客户端属性
2、通过var语句声明的变量
3、通过function语句定义的函数和函数参数也不能删除
void运算符
同样也是一个一元运算符,它的操作数会照常计算,但是会忽略计算结果并返回undefined。
最常用在客户端的URL---javascript:URL中
逗号运算符
逗号运算符是一个二元运算符,它是先计算坐操作数,后计算右操作数,最后返回右操作数的值。
i=0,k=1,j=2;
等价于
i=0;j=1;k=2;
逗号运算符最常应用的场景就是for循环中了,比如:
for(var i=0,r=0;i<arr.length;i++){ }
JavaScript--赋值表达式(typeof-delete-void)的更多相关文章
- JavaScript—赋值表达式
赋值表达式的运算顺序是从右到左的,因此,可以通过以下方法对多个变量赋值 1 i=j=k=0;//也就是把三个变量初始化为0 赋值表达式中的递增和递减 n++和++n的区别: 简单来说,根据 ...
- JavaScript—赋值表达式-1
赋值表达式的运算顺序是从右到左的,因此,可以通过以下方法对多个变量赋值 i=j=k=0;//也就是把三个变量初始化为0 赋值表达式中的递增和递减 n++和++n的区别: 简单来说,根据运算顺序,n++ ...
- javascript特殊运算符(in,instanceof,typeof,delete,void,逗号)
in运算符 in运算符要求其左边的运算数是一个字符串,或可以被转换为字符串,右边的运算数十一个对象或数组.如果该 运算符左边的值是右边对象的一个属性名,则返回true, ...
- js之运算符其它运算符(三元运算符,逗号运算符,void运算符,typeof,delete运算符)
Javascript支持很多其它的运算符,具体如下: 一.条件运算符(?:) 条件运算符是Javascript中唯一的三个操作数的三元运算符,有时会直接称做是“三元运算符”. 基本格式:conditi ...
- JavaScript 中表达式和语句的区别
1.语句和表达式 JavaScript中的表达式和语句是有区别的.一个表达式会产生一个值,它可以放在任何需要一个值的地方,比如,作为一个函数调用的参数.下面的每行代码都是一个表达式: myvar3 + ...
- (转)深入理解javascript连续赋值表达式
引入 今天逛园子的时候看到一道javascript面试题,是关于连续赋值的,正好最近读jQuery源码经常看到这种连续赋值的表达式,所以很感兴趣. 废话不多说,来看题: var a = {n: 1} ...
- <转>赋值表达式解析的流程
转自:http://www.cnblogs.com/nazhizq/p/6520072.html 上节说到表达式的解析问题,exprstate函数用于解析普通的赋值表达式.lua语言支持多变量赋值.本 ...
- JavaScript中:表达式和语句的区别
JavaScript中:表达式和语句的区别 Javascript语言精粹:表达式是由运算符构成,并运算产生结果的语法结构.程序是由语句构成,语句则是由“:(分号)”分隔的句子或命令.如果在表达式后面加 ...
- (5)Javascript的表达式
Javascript的表达式 表达式是一个语句的集合,计算结果是个单一值,然后该结果被javascript归入下列数据类型之一:布尔.数字.字符串.对象等.表达式是具有一定的值,用操作符把常量和变量连 ...
- C#保留2位小数几种场景总结 游标遍历所有数据库循环执行修改数据库的sql命令 原生js轮盘抽奖实例分析(幸运大转盘抽奖) javascript中的typeof和类型判断
C#保留2位小数几种场景总结 场景1: C#保留2位小数,.ToString("f2")确实可以,但是如果这个数字本来就小数点后面三位比如1.253,那么转化之后就会变成1.2 ...
随机推荐
- FFmpeg常用基本命令
FFmpeg常用基本命令 1.分离视频音频流 ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流 ffmpeg -i inp ...
- Qt入门(18)——使用信号和槽连接控件
下面显示了如何使用信号和槽来创建自定义窗口部件,和如何使用更加复杂的方式把它们连接起来. 首先,源文件被我们分成几部分并放在放在t7目录下. t7/lcdrange.h包含LCDRange类定义.t7 ...
- Contains Duplicate II ——LeetCode
Given an array of integers and an integer k, find out whether there there are two distinct indices i ...
- 新的一年新的气象 云计算与SOA
[David S.Linthicum]著 云计算和SOA是不同的概念,但是它们却相互联系.SOA是架构模式,而云计算是架构的实例,或者说是架构的一种选择,SOA更具整体性和战略性,它解决的是包括业务驱 ...
- 高效算法——G - 贪心
G - 贪心 Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu Submit Status Desc ...
- bzoj3223 Tyvj 1729 文艺平衡树(Splay Tree+区间翻转)
3223: Tyvj 1729 文艺平衡树 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 2202 Solved: 1226[Submit][Sta ...
- Apache multiple domains setup
Running several name-based web sites on a single IP address. Your server has a single IP address, an ...
- 动态规划——区间dp
在利用动态规划解决的一些实际问题当中,一类是基于区间上进行的,总的来说,这种区间dp是属于线性dp的一种.但是我们为了更好的分类,这里仍将其单独拿出进行分析讨论. 让我们结合一个题目开始对区间dp的探 ...
- poj 2187 凸包加旋转卡壳算法
题目链接:http://poj.org/problem?id=2187 旋转卡壳算法:http://www.cppblog.com/staryjy/archive/2009/11/19/101412. ...
- apt局域网源搭建
1, 准备Packages.gz