连接运算符 + 】

<script>
console.log(1+2+'a'+3+4);
</script>

输出:

3a34

逻辑运算符】返回的是最早能判断表达式结果的那个值

例①

<script>
var a = false;
var b = 10;
var c = true;
var d = a || b || c;
console.log(d);
console.log(typeof(d));
</script>

输出:

10

number

例②

<script>
var a = true;
var b = false;
var c = a && b;
console.log(c);
console.log(typeof(c));
</script>

输出:

false

boolean

例③(&& 优先级高于 ||)

<script>
var a = true;
var b = 10;
var c = false;
var d = a || b && c;
console.log(d);
console.log(typeof(d));
</script>

输出:

true

boolean

在一些框架中经常利用 || 来做浏览器的兼容,形式:window.a = window.a || window.b

遍历数组

<script>
var arr = ['hello', 'world', 2015];
for(var i=0; i<arr.length; i++){
console.log(arr[i]);
}
</script>

输出:

hello

world

2015

遍历对象

<script>
var obj = {a:'hello', b:'world', c:2015};
for(var key in obj){
console.log(key+":"+obj[key]);
}
</script>

输出:

a:hello

b:world

c:2015

对象操作

在用数字、字符串等原生类型调用属性的时候,js 会瞬间把这些原生类型包装成对象

例 ①

<script>
var str = "helloworld";
console.log(str.length);
</script>

输出 10

例 ②

<script>
var str = "helloworld";
console.log(str.substr(2,3));
</script>

输出:llo

例 ③

<script>
var arr = ['阿森纳', '切尔西', '曼城', '利物浦'];
console.log(arr.join(',')) var str = "php,java,python";
console.log(str.split(','));
</script>

输出:

阿森纳,切尔西,曼城,利物浦

["php", "java", "python"]

Javascript 笔记与总结(2-3)Javascript 运算符、控制结构与对象操作的更多相关文章

  1. [Effective JavaScript 笔记] 第4条:原始类型优于封闭对象

    js有5种原始值类型:布尔值.数字.字符串.null和undefined. 用typeof检测一下: typeof true; //"boolean" typeof 2; //&q ...

  2. [Effective JavaScript 笔记] 第8条:尽量少用全局对象

    初学者容易使用全局变量的原因 创建全局变量毫不费力,不需要任何形式的声明(只要在非函数里用var 你就可以得到一个全局变量) 写得代码简单,不涉及到大的项目或配合(写hello world是不会有什么 ...

  3. [Effective JavaScript 笔记]第23条:永远不要修改arguments对象

    arguments对象并不是标准的Array类型的实例.arguments对象不能直接调用Array方法. arguments对象的救星call方法 使得arguments可以品尝到数组方法的美味,知 ...

  4. [Effective JavaScript 笔记]第24条:使用变量保存arguments对象

    迭代器(iterator)是一个可以顺序存取数据集合的对象.其一个典型的API是next方法.该方法获得序列中的下一个值. 迭代器示例 题目:希望编写一个便利的函数,它可以接收任意数量的参数,并为这些 ...

  5. [Effective JavaScript 笔记]第28条:不要信赖函数对象的toString方法

    js函数有一个非凡的特性,即将其源代码重现为字符串的能力. (function(x){ return x+1 }).toString();//"function (x){ return x+ ...

  6. [Effective JavaScript 笔记] 第5条:避免对混合类型使用==运算符

    “1.0e0”=={valueOf:function(){return true;}} 是值是多少? 这两个完全不同的值使用==运算符是相等的.为什么呢?请看<[Effective JavaSc ...

  7. [Effective JavaScript 笔记]第3章:使用函数--个人总结

    前言 这一章把平时会用到,但不会深究的知识点,分开细化地讲解了.里面很多内容在高3等基础内容里,也有很多讲到.但由于本身书籍的篇幅较大,很容易忽视对应的小知识点.这章里的许多小提示都很有帮助,特别是在 ...

  8. javaScript笔记详解(1)

    javaScript基础详解 版权声明 本文原创作者:雨点的名字 作者博客地址:https://home.cnblogs.com/u/qdhxhz/ 首先讲javaScript的摆放位置:<sc ...

  9. JavaScript笔记三两个

    JavaScript定义变量: var num;变量的类型不知道,当给num赋值后,根据值类型来确定类型. var num = 3; //数值类型 var str = "hello,worl ...

随机推荐

  1. Jpush推送模块

      此文章已于 14:17:10 2015/3/24 重新发布到 鲸歌 Jpush推送模块     或以上版本的手机系统. SDK集成步骤 .导入 SDK 开发包到你自己的应用程序项目 •    解压 ...

  2. 虚析构函数(√)、纯虚析构函数(√)、虚构造函数(X)

    from:http://blog.csdn.net/fisher_jiang/article/details/2477577 一. 虚析构函数 我们知道,为了能够正确的调用对象的析构函数,一般要求具有 ...

  3. C语言 给字符数组赋值的方法

    typedef struct _tagTESTCHAR { char szTest[30];}TESTCHAR , *PTESTCHAR; int main(int argc, char* argv[ ...

  4. Ubuntu16.04 安装openjdk-7-jdk

    Ubuntu16.04 安装openjdk-7-jdk sudo apt-get install openjdk-7-jre 或者sudo apt-get install openjdk-7-jdk ...

  5. 12、uwp 开发的零碎总结

    1.在给位 “修正版本号”(Major.Minor.Build.Revision)不能修改. 后, 商店上传失败,描述信息为:Apps are not allowed to have a Versio ...

  6. Windows Phone8 遇见的问题

    1.公司的无线路由可以自动分发ip地址,模拟器可以自动获取ip,进行连接.宿舍的无线路设置了DHCP 不能自动分发ip地址,模拟器连接不到ip,上不去网,我就去hyper-v 管理器里修改了静态mac ...

  7. Hibernate 分页时 Long 无法转化成Integer类型 异常

    转自:http://loquat.iteye.com/blog/818547 报错:java.lang.Long cannot be cast to java.lang.Integer   Long ...

  8. PL/SQL Developer 连接新数据库

    1 2 3

  9. CC2540开发板学习笔记(五)——串口通信

    (一)串口发送 一.实验现象: 开发板实现功能发送 二.实验过程 1.PL2303 USB转串口电路图 2.串口发送 (1)查看用户手册有: UART0 对应的外部设备 IO 引脚关系为: P0_2 ...

  10. 矩阵连乘积 ZOJ 1276 Optimal Array Multiplication Sequence

    题目传送门 /* 题意:加上适当的括号,改变计算顺序使得总的计算次数最少 矩阵连乘积问题,DP解决:状态转移方程: dp[i][j] = min (dp[i][k] + dp[k+1][j] + p[ ...