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
如何防止回车(enter)键提交表单,其实很简单,就一句话。onkeydown="if(event.keyCode==13)return false;"把这句写在from标签里面就好了。如果在页面中按Enter键会自动提交的话,可以设置返回值防止自动提交如<input id="q" name="q" type="text" onkeypress="javascript:return gosearch();">返回值必须是falsefunction gosearch()
{
if(window.event.keyCode == 13)
{
search();
return false;
}
}或者直接在form中写 <...
typeof 操作符是确定一个变量是字符串、数值、布尔值、还是undefined的最佳工具。
虽然在检测基本数据类型时 typeof 是非常得力的助手,但在检测引用类型的值时,这个操作符的用处不大。var arr = new Array();
typeof arr // ‘object‘var obj = new Object();
typeof obj; // ‘object‘
通常,我们并不想知道某个值是对象,而是想知道他是什么类型的对象。为此ECMAScript提供了 instanceof 操作符,其语法如下:result = varia...
------------恢复内容开始------------问题来源:在将2048游戏发布到github pages时,发现了最高分显示一直为null当score变换了,best依旧为null
发现不管如何移动localStorge存储的一直都是null,但是在webstorm运行时,没有出错,且能获取到localStorge. vscode和github上面的都是同样的错误,那一定是代码出现了问题.localStorgelocalStorage 中的键值对总是以字符串的形式存储,不受页面刷新的影响,也不会因为关闭窗口,变迁也重启浏览器...
因为ECMAScript中函数名本事就是一个变量,所以函数也可以作为值来使用,即不仅可以向传递参数一样把函数传递给另一个函数,而且可以将函数作为另一个函数返回这个函数接受两个参数,第一个参数是一个函数名,第二个参数是传递给该函数的一个值function add(num){return num+10;}var result=callFunction(add,10){alert(result);//20}原文:http://blog.csdn.net/hephec/article/details/39324497
this是在运行时基于函数的执行环境绑定的:在全局函数中,this等于window,而当函数被作为某个对象的方法调用时,this等于那个对象。不过,匿名函数的执行环境具有全局性,因此其this对象通常指向window.但有时候由于编写闭包的方式不同,这一点可能不会那么明显。下面来看一个例子:?123456789101112varname="The Window";varobject={ name : " My Object"; getNameFunc : function() { ...
本篇文章主要针对javascript的属性进行分析,由于javascript是一种基于对象的语言,本身没有类的概念,所以对于javascript的类的定义有很多名字,例于原型对象,构造函数等,它们都是指javascript中的类。 例如:function Person(){} var p = new Person(); 这里的Person可以看作一个类,而p则是这个类的实例也可以称为对象。这里主要分析js里面的四种属性。 私有属性,指定义在类中用var声明的,即var propertyName = sonm...
JavaScript中的赋值运算可以分为简单赋值运算和复合赋值运算。简单赋值运算是将赋值运算符(=)右边表达式的值保存到左边的变量中;而复合赋值运算混合了其他操作(例如算术运算操作)和赋值操作。例如:
sum+=i; //等同于sum=sum+i;JavaScript中的赋值运算符如下表所示。例如,某员工的月薪为5000元,扣除各项保险费用共500元,个人所得税起征点是3500元,税率为3%,计算该员工的实际收入是多少。代码如下:01 <script ...
除了XMLHttpRequest对象来获取后台的数据之外,还可以使用一种更优的解决方案——fetch ㈠fetch示例fetch获取后端数据的例子:// 通过fetch获取百度的错误提示页面
fetch(‘https://www.baidu.com/search/error.html‘) // 返回一个Promise对象 .then((res)=>{return res.text() // res.text()是一个Promise对象}).then((res)=>{console.log(res) // res是最终的结果}) ㈡GET请求⑴GET请求初步fetch可以提供第二个参数,就是用来传...
#函数表达式
##函数声明和函数表达式的区别
函数的定义有两种形式,一种是函数声明,一种是函数表达式
使用声明时,要注意函数声明提升现象,比如说在if语句中使用声明会出错,但是表达式就不存在这个问题
表达式要在使用前定义,而声明不用
通过声明会获得一个name属性,而表达式中其name为空
function fn() {}
var fn1 = function() {};
console.log(fn.name); //fn
console.log(fn1.name); //
##递归调用...
一.概念websocket定义WebSocket是html5提供的一种在单个TCP连接上进行双向通信的协议,解决了客户端和服务端之间的实时通信问题。浏览器和服务器只需完成一次握手,两者之间就可以创建一个持久性的TCP连接,此后服务器和客户端通过此TCP连接进行双向实时通信。websocket优点很多网站为了实现数据推送,所用的技术都是ajax轮询。轮询是在特定的时间间隔,由浏览器主动发起请求,将服务器的数据拉回来。轮询需要不断的向服务器发送请...