google chrome调试
1,同样的代码使用firefox运行不会报错,正常运行。
2,同样的代码使用google chrome 有时候会误报网页?
如下:代码可以在 firfox edge正常运行,在chrome opera 运行报错。应该是兼容性问题。
代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
function BinaryTree(){
//初始化节点对象,包括3个属性
var Node=function(key){
this.key=key;
this.left=null;
this.right=null;
};
var root=null;//根节点
//给当前节点添加左右孩子。
var insertNode = function(node,newNode){
//如果节点小于父节点,放在左边作为左孩子
if (newNode.key<node.key) {
if (node.left===null) {
node.left=newNode;
}else{
insertNode(node.left,newNode);
}
//否则就放右边,作为右孩子
}else{
if (node.right===null) {
node.right=newNode;
}else{
//递归,继续添加左右孩子节点。
insertNode(node.right,newNode);
}
}
}
//判断根节点是否为空。
this.insert=function(key){
var newNode=new Node(key);
if (root===null) {
root=newNode;
}else{
//给当前节点添加左右孩子节点。
insertNode(root,newNode);
}
}
}
var nodes=[8,3,10,1,6,14,4,7,13];
var BinaryTree=new BinaryTree();
nodes.forEach(function(key){ //控制台,鼠标悬停key未定义,也不会往里面执行代码
BinaryTree.insert(key);
});
</script>
</body>
</html>
====================
逻辑操作符 &&与 ||或 !非
一,&&与
只要有一个条件不成立就返回 false。
只要有一个条件不成立就返回 false。从第一个开始,一旦遇到false,就不会继续往下读取,直接返回当前操作数。
在有一个操作数不是返回布尔值的情况,那么逻辑与操作就不一定返回值。此时遵循以下几个规则:
1,如果第一个操作隐式类型转换后为true,则返回第二个操作数
var a=10;
var b=20;
var c=30;
var d;
var name=null;
var str="abc";
console.log(a<b && a<c); /*全部true,返回最后一个true*/
console.log(str && c); /*30 */
/*str="abc" 这里有一个隐式类型转换 Boolean(str)返回值:true。
Boolean(c)=Boolean(30) 隐式类型转换 返回值:true。返回第二个值,这里的值是30*/
var a ,b;
console.log(null && undefined && 0); // 返回0 隐式类型转换全部false,则返回最后一个操作数。
console.log(a && b); //返回undefined
console.log( c && 50 && str); /*abc*/
/*隐式类型转换,Boolean(c)返回值:true。
饮食类型转换 Boolean(str) 返回值:true。 如果&&与中全部值返回true,则返回最后一个true对象没有进行隐式类型转换的值*/
2,如果第一个操作数隐式类型转换值为:false。则返回第一个操作数,指的是第一个返回值为:false,如果返回值为:true则跳过。
var a=10;
var b=20;
var c=30;
console.log(a>c && 88 && a>b); /*返回值:false 这里a>c的返回值就是:false*/
console.log(a>c && 88 && a>b); /*返回值:false 这里a>c是第一个返回值false的对象*/
console.log(0 && 88); /*返回0 ,隐式转换Boolean(0)返回值:false。所以返回值是0。返回第一个false的对象的原值。*/
3,如果有一个操作数null,则返回null。
console.log("" && 88 && a<b); /*返回空值,在控制台中就是一个空格*/
4,如果有一个操作数为:undefined,则返回undefined。
var d;
console.log(a<c && 88 && d); /*d 这里的d在上文中没有进行定义赋值,所以返回d*/
5,如果有一个操作数为:NaN,则返回NaN。
var str="abc";
console.log( a<c && a+str && 88); /*88 这里Boolean(a+str) 这里的+变成连字符,所以返回值为:true。所有经过隐式转换返回值都为:true,则值默认返回最后一个原值 88。*/
console.log( a<c && a*str && 88); /*NaN Boolean(a*str) a=10 str="abc" 数字和字符串相乘,返回值:NaN非数值*/
6,&&与 可以操作任意类型的数据
google chrome调试的更多相关文章
- Google Chrome调试js代码,开发者工具之调试工具常用功能
参考:Google Chrome调试js代码-http://www.open-open.com/lib/view/open1384785324165.html 重点:左下角一个{}括号图标按钮用于把杂 ...
- Google Chrome 调试
[原文地址:http://www.cnblogs.com/QLeelulu/archive/2011/08/28/2156402.html ] 在Google Chrome浏览器出来之前,我一直使用F ...
- google chrome 调试技巧:监控 DOM 元素被修改
在很多时候, 页面上一个元素的属于被修改.删除,子节点的添加与修改,很难一下找到对应的代码,在 google chrome 开发者工具里, 提供了对 DOM 元素的监控: 在 Elements 标签, ...
- Google Chrome 调试JS简单教程[更新]
题外话,刚开始我写这篇内容只是将自己了解的一些知识放上来,不巧的是我分析了我的来访日志,很多朋友都有这个需求,为了大家没有白来,我决定充实下这篇文章.最近更新时间2014-02-14 chrome版本 ...
- Javascript系列: Google Chrome调试js代码(zz)
你 是怎么调试 JavaScript 程序的?最原始的方法是用 alert() 在页面上打印内容,稍微改进一点的方法是用 console.log() 在 JavaScript 控制台上输出内容.嗯~, ...
- Google Chrome调试js代码
你 是怎么调试 JavaScript 程序的?最原始的方法是用 alert() 在页面上打印内容,稍微改进一点的方法是用 console.log() 在 JavaScript 控制台上输出内容.嗯~, ...
- Google Chrome调试js入门
平常在开发过程中,经常会接触到前端页面.那么对于js的调试那可是家常便饭,不必多说.最近一直在用火狐的Firebug,但是不知道怎么的不好使了.网上找找说法,都说重新安装狐火浏览器就可以了,但是我安装 ...
- Google Chrome调试常用快捷键
Ctrl+Shift+I调出开发者工具 Ctrl+R刷新(界面显示不清楚,刷新后变清楚)
- Google Chrome Uncaught TypeError: object is not a function
<html> <script type="text/javascript"> function testForm(){ alert("hello ...
随机推荐
- Redis3.2学习记录
nosql 特征:访问量大,高并发,高可用,海量数据 redis3.2作用:减轻关系型数据库查询的压力安装:windows下解压即可使用,启动服务如:redis-server redis-config ...
- ORC相关的库介绍和应用
将图像翻译成文字一般被称为光学文字识别(Optical Character Recognition,OCR) OCR库:Pillow.Tesseract.NumPy Pillow Pillow可以对图 ...
- python+socket实现网络信息交互及文件传输
Socket 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket. Socket又称"套接字",应用程序通常通过"套接字" ...
- 第三章 VIVADO 自定义IP 流水灯实验
第二章里面已经说过了,MIZ701 PL部分没有输入时钟,因此驱动PL资源必须是通过PS来提供时钟,所以这个流水灯实验也得建立一个最小系统了,然后再添加一个流水灯的自定义IP. 3.0本章难度系数★★ ...
- command not found 的解决&&解释
ln -s /opt/platform/calico/calicoctl /usr/local/sbin/calicoctl ln -s /opt/platform/nginx/sbin/nginxl ...
- 9-MySQL DBA笔记-测试实践
第9章 测试实践 在第8章中介绍了测试所需要的理论知识,本章将为读者讲述实际的测试过程.实际测试一般包括硬件测试.MySQL基准测试及应用服务压力测试,下面将分别讲述这三方面的内容.此外,测试工具的选 ...
- VMware永久key
VMware永久KEY:5F29M-48312-8ZDF9-A8A5K-2AM0Z
- SpringBoot项目的限流
开发访问量比较大的系统是,爬虫的目的就是解决访问量大的问题:缓存穿透是为了保护后端数据库查询服务:计数服务解决了接近真实访问量以及数据库服务的压力. 架构图 限流 就拿十万博客来说,如果存在热点文章, ...
- LeetCode 腾讯精选50题--二叉树中的最大路径和
二叉树中的最大路径和 题目描述 给定一个非空二叉树,返回器最大路径和,路径指一条从任意节点出发,到达任意节点的序列,该路径至少包含一个节点,且不一定经过根节点 解题思路 树这一类数据结构我还不是很熟悉 ...
- C++ STL 之 multimap案例之员工分组
#include <iostream> #include <vector> #include <map> #include <string> #incl ...