相同点: 两个运算符均可用于比较两个值是否相等,可允许操作任意类型的操作数,如果操作数相等则返回true,否则返回false。不同点: "==="运算符也称为严格相等运算符,它用来检测两个操作数是否严格相等。该运算符首先计算其操作数的值,然后比较这两个值,比较过程中并不会首先对操作符进行任何类型转换。 "=="运算符称为相等运算符,用来检测两个操作数是否相等,这里“相等”的定义非常宽松,可以允许...
注意:以下的输出都在浏览器的控制台中<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title>闭包</title>
</head>
<body>
<script type="text/javascript">
/*** 利用闭包实现* 这个函数给对象o增加了属性存储器方法* 方法名称为get<name>和set<name>。如果提供了一个判断函数* setter方法就会用它来检测参数的合法性,然后再存储它* 如果判定函数返回false,setter方法就会抛出一个异常** 这个函数具有getter和setter函数*...
breakbreak是用来终止循环的,让循环不再往下进行:for(var i=0;i<=5;i++){console.log(i)//输出0123if(i==3){break;}
}
当i等于3的时候,直接退出for循环,这个循环将不在被执行continuecontinue和break的语句相似,不同的是,他并不是推出一个循环,而是结束本次循环,开始下一次的循环for(var i=0;i<=5;i++){if(i==3){continue;}console.log(i)//输出01245
}
returnreturn语句用于返回指定的函数值,return只能出现在函数体中
当...
函数表达式和函数声明在ECMAScript中,创建函数的最常用的两个方法是函数表达式和函数声明,两者期间的区别是有点晕,因为ECMA规范只明确了一点:函数声明必须带有标示符(Identifier)(就是大家常说的函数名称),而函数表达式则可以省略这个标示符: 函数声明: function 函数名称 (参数:可选){ 函数体 } 函数表达式: function 函数名称(可选)(参数:可选){ 函数体 }所以,可以看出,如果不声明函数名称,它肯定...
一个是怎样创建JSON:var obj = {};
obj[‘name‘] = value;
obj[‘anotherName‘] = anotherValue;假设要创建多级的JSON,则:ips[ipId] = {};
ips[ipId][‘name‘] = value;
ips[ipId][‘anotherName‘] = anotherValue;注意要用bracket[]而不能用点. 来訪问json objectbracket尽管写起来麻烦一些,可是能够避免非常多错误!http://stackoverflow.com/questions/4071499/dynamically-add-variable-name-value-pairs-to-json-obje...
1、在javascript的字符串比较当中,可能经常会遇见一些明明字符串存进去的是这个值,但返回结果不对的情况。这时候我们应该用trim()函数把字符串的前后空格去掉,这样就可以正常运行了,注意一定要加()2、innerHtml可以识别出html标签,而innerText不能,当我们使用innerHtml将它的值改变为一串中文时,可能会出去结果识别不出的情况,这时候我们可以试着用innerText。在网页编程中,中文乱码确实是一个很头疼的问题,其实有时候这...
在 js 中 无论是函数, 还是方法, 还是事件, 还是构造器, ... 其本质都是函数. 只是处在不同的位子而已。 四种模式有:函数模式,方法模式,构造器模式,上下文模式 1.函数模式 特征: 就是一个简单的函数调用. 函数名的前面没有任何引导内容,其中this表示全局对象,在浏览器中是window。比如:function foo () {}var func = function () {};...foo();func();(function (){})(); 2.方法模式 特征: 方法一定是依附于一个对...
一个是如何创建JSON:var obj = {};
obj[‘name‘] = value;
obj[‘anotherName‘] = anotherValue;如果要创建多级的JSON,则:ips[ipId] = {};
ips[ipId][‘name‘] = value;
ips[ipId][‘anotherName‘] = anotherValue;注意要用bracket[]而不能用点. 来访问json objectbracket虽然写起来麻烦一些,但是可以避免很多错误!http://stackoverflow.com/questions/4071499/dynamically-add-variable-name-value-pairs-to-json-object...
call 方法调用一个对象的一个方法,以另一个对象替换当前对象。call([thisObj[,arg1[, arg2[, [,.argN]]]]])参数thisObj可选项。将被用作当前对象的对象。arg1, arg2, , argN可选项。将被传递方法参数序列。说明call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj笔记:其实就是更改对象...
JSON中无法使用length去获取长度,length只针对数组对象适用:var data={"showdata":{"中国人民大学":{"201311":"24","201312":"98"}},"hotwords":["中国人民大学","人民大学","中国","大学","教授","工作","发展","陈雨露校长","学院","学生","交流","学校","院长","合作","教育","艺术","研究","专家学者","人大","社会"]} data中的两个对象如下,分别是Object 和Array。//hotwords.lengthhotwords: [中国人民大学, 人民大学, 中...
JavaScript 中,大多数情况下,我们不会发现 location.host 与 location.hostname 的区别,因为大多数情况下,我们的网页用的是 80 端口。他们的区别:location.host 包含端口,比如是 127.0.0.1:81。如果端口是 80,那么就没有端口,就是 127.0.0.1。location.hostname 不包含端口,比如是 127.0.0.1。原文:http://www.cnblogs.com/azhqiang/p/7390378.html
最近学习javascript,碰到caller和callee的问题,去网上百度了很多。搜到的内容大同小益,整理总结了一下与大家分享。caller:返回一个对调用function函数的函数的引用(用法:function.caller)说明:对于函数来说,caller属性只有在函数执行时才有定义。如果函数由顶层调用,caller则为null。var time = 3 //控制次数,去掉会一直在caller与handleCaller交替不断执行
function caller() {caller.caller()//返回调用caller函数的函...
ES6的很多特性都跟Generator扯上关系,而且实际用处比较广, 包含了任何需要异步的模块, 比如ajax, filesystem, 或者数组对象遍历等都可以用到; Generator的使用: Generator函数和普通的函数区别有两个, 1:function和函数名之间有一个*号, 2:函数体内部使用了yield表达式;比如这样:function* gen() {yield"1";yield"2"
} 这个玩意儿如果运行的话,会返回一个Iterator实例, 然后再执行Iterator实例的next()方...
1.with语句会抛错误 2.未声明的变量被赋值会报错 3.arguments在严格模式下变为静态,传入的参数与arguments无关系 4.delete会报错 5.对象的重复属性名会报错 6.禁止八进制变量 7.eval被认定为关键字,另外eval的参数中若有定义变量的语句,在严格模式下只是一段平凡的字符串,使用typeof检测不到在eval里定义的变量类型。JavaScript中严格模式"use strict";需注意的几个雷区:原文:http://www.cnblogs.com/zhuan/p/6121179.html
bug合集又开始了 坑王 操作数选择器。。。 原文:https://www.cnblogs.com/cx2016/p/13202893.html