操作符(Operator)

void

如果void后是数字,就返回NAN,否则返回Undefined。

alert(void "hello");//跟的字符 print undefined
alert(void (1 + 1)); //跟的左括号 print undefined
alert(void 1 + 1); //跟的数字 print NAN

obj instanceof contructor

function factory() { }
var obj = new factory();
alert(obj instanceof factory); //print true obj引用factory创建

var aa = { name:"sam" };
alert(aa instanceof Object); //引用Object构造函数创建自身

property in obj

var obj = { name: "sam" }; //js中,不管是json对象还是靠new操作符创建的对象,其属性成员、函数成员总是可以通过属性的字符表示来获取,注意属性和值用:分隔而非=
alert('name' in obj); //name属性在obj的原型链中

delete obj.property

删除对象的属性或数组的元素

var obj = { name:"sam" };
delete obj.name;
alert('name' in obj); //print false var bb = ["a", "b", "c"];
delete bb[0];
alert(bb[0]); //print undefined,被删元素会以undefined占位 alert("1" in bb);//还是true,原因不明
alert("42" in bb); //false

new x

x是构造函数,只用于调用构造函数创建对象,匿名对象不能使用new操作符。

!x

取非,

1.如果x是布尔值,则取x相反的布尔值

2.如果x是一个测试"是否"的函数,如果该函数的逻辑是:是否不是,则取非后描述为:是否是。如果函数的逻辑是:是否是,则描述为是否不是。

var aa = false; 
alert(!aa);//取false的反数,print true

a=x?y:z

三元运算符,执行条件测试,简化if……else语句,如果x表达式为真,y赋给a,否则z赋给a。a是变量,x是表达式。

var aa = 1 + 1 == 12 ? 12 : "NAN";
alert(aa); //print NAN

1 + 1 == 12 ? alert("12") : alert("NAN"); //与C#不同之处在于,js中三元运算操作符可以不用把结果输出给变量

var x = 10;
var y = x == 1 ? x + 1 : x == 2 ? x + 2 : x + 0;
//等同于
if (x == 1) y = x + 1;
else if (x == 2) y = x + 2;
else y = x + 0;

typeof x

返回x的类型。可能返回的值:number、string、boolean、object、function、undefined(此时,NAN也会被当做undefined)

var b = false;
function factory() { }
typeof b == "boolean" ? alert("true") : '';
typeof factory == "function" ? alert("true") : '';

.

获取属性

var Obj = { 'x': 10, y: 20, } //也可以使用引号将属性括起来
alert(Obj.x);
alert(Obj.y);

y['x']或y[index]

获取对象的属性或数组的元素

var Obj = { 'x': 10, y: 20, } //也可以使用引号将属性括起来
alert(Obj["x"]);    
alert(Obj["y"]);

var Obj = { 'x': 10, 'y': 20, }
for (var item in Obj) {
    alert(item);//print 这样只能得到每个属性名的字符表示
    alert(Obj[item]);//print 这样可以得到每个属性的值
}

Javascript - 学习总目录

Javascript - 操作符的更多相关文章

  1. javascript——操作符(~、&、|、^、<<、>>)

    直接上代码吧! <script type="text/javascript"> //javascript操作符 //1.按位非~ var num1=25;// var ...

  2. javascript 操作符类型隐性转换

    javascript 操作符类型隐性转换 (一).一元操作符只能操作一个值的操作符叫做一元操作符1.递增和递减操作符a. 在应用于一个包含有效数字字符的字符串时,先将其转换为数字值,再执行加减1的操作 ...

  3. JavaScript操作符(一元操作符)

    JavaScript操作符包括算术操作符.位操作符.关系操作符和相等操作符.只能操作一个值的操作符叫做一元操作符. 递增和递减操作符 递增和递减操作符有两个版本:前置型和后置型.前置型操作符位于要操作 ...

  4. JavaScript操作符汇总

    操作符 JavaScript 有赋值.比较.算术.位.逻辑.字符串和特殊运算符.本章描述了操作符,以及关于操作符优先级的一些信息. 表 2.1 JavaScript 所有操作符简明列表. 表 2.1 ...

  5. JavaScript操作符-3---算数,逻辑,赋值,比较,三元

    JavaScript操作符 学习目标 1.掌握什么是表达式 2.掌握javascript操作符的分类 3.掌握算数操作符 什么是表达式 将类型的数据(如常量.变量.函数等),用运算符号按一定的规则链接 ...

  6. JavaScript操作符(=?,)优先级

    JavaScript操作符优先级: 关于最后3个运算符的优先级比较,下面通过一个实例来具体说明: var a,b,c; a = 3,4,5; b = a--,--a,a; c = a ? b++ : ...

  7. JavaScript 操作符 变量

    一.操作符: 一元操作符 递增操作符 递减操作符 分为 前置型(--a    ++a) 和 后置型 (a--    a++) 区别如下: var a = 3,b=6; c = --a +b; //c= ...

  8. JavaScript操作符(布尔操作符、乘性操作符和加性操作符)

    布尔操作符 布尔操作符用来测试两个值的关系,布尔操作符有三个,逻辑非(!).逻辑与(&&),逻辑或(||). 逻辑非由一个叹号(!)组成,可以应用于JavaScript任何值.逻辑非首 ...

  9. javascript 操作符小结

    简单总结一下JavaScript的几个操作符: var. in. delete. typeof. new. instanceof.void var 定义变量要使用var操作符, 使用var操作符定义的 ...

随机推荐

  1. FPGA千兆位收发器选择指南

    选择合适的千兆位收发器(GT)是通信和实时处理领域尤其需要重点考虑的设计事项,但特定的市场领域可能会存在太多的标准.协议或使用模型.有时针对某一种应用就会涉及到好几种标准,为了选择最适合的千兆位收发器 ...

  2. Python Pandas read_csv报错

    为实现文本去重(将前面采集的数据进行两两对比删除重复),写了以下代码. #-*- coding: utf-8 -*-import pandas as pd inputfile = 'e:/data/H ...

  3. Alpha冲刺-第一天

    1.1 今日完成任务情况以及遇到的问题. 完成任务情况 杜世康:弹幕的爬取 刘丹,李玉莹:系统统计功能实现 曹莹雯,尹楠: 主播管理功能实现 王静雅 :团队编码规范说明与本次博文撰写 遇到的问题 在爬 ...

  4. Mac安装Appium的Android环境

    1.下载android sdk http://down.tech.sina.com.cn/page/45703.html   2.解压,配置环境变量   ANDROID_HOME=/Users/wp/ ...

  5. [转帖] Linux 下面 Find的使用...--- 自己不会用 find

    13个实用的Linux find命令示例  原始博客地址:  https://www.cnblogs.com/chenshoubiao/p/4838089.html   之前只会用locate  基础 ...

  6. Python进阶-配置文件

    一. 什么是配置文件?为什么要做配置文件? 将所有的代码和配置都变成模块化可配置化,这样就提高了代码的重用性,不再每次都去修改代码内部,这个就是我们逐步要做的事情,可配置化 二. 配置文件长啥样? 配 ...

  7. TP3.2加载外部PHPexcel类,实现导入和导出

    TP3.2加载外部PHPexcel类,实现导入和导出 导入: 1.将下载好的PHPexcel文件放到libray/Org/Uti/文件夹下,将PHPEXCEL.PHP改为PHPEXCEL.class. ...

  8. bower安装和使用

    bower的安装 1,首先在我的系统 安装 nodejs.因为我的系统是windows,还需要安装msysgit,注意图二中的选项   msysgit   Git setup 2,之后就可以用npm包 ...

  9. ubuntu修改用户名并修改home对应的目录名

    1.新建一个新的用户user2 sudo adduser temporary sudo adduser temporary sudo 2.从user1 logout.进入新建用户user2,修改use ...

  10. 无旋treap板子!

    #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> # ...