
Javascript
千羽千寻
生命要浪费在美好的故事上
展开
-
JS语法汇总
函数表达式和函数声明在ECMAScript中,创建函数的最常用的两个方法是函数表达式和函数声明,两者期间的区别是有点晕,因为ECMA规范只明确了一点:函数声明必须带有标示符(Identifier)(就是大家常说的函数名称),而函数表达式则可以省略这个标示符: 函数声明: function 函数名称 (参数:可选){ 函数体 } 函数表达式: func转载 2017-08-30 10:39:29 · 3691 阅读 · 0 评论 -
《ES6标准入门》(一)let和const
一、let命令1)let的作用域只在代码块内,块外无效;var全局有效var a = [];for(var i = 0;i < 10;i++){a[i] = function(){console.log(i);};}a[6]();对于这段代码,变量i是var声明的,在全局范围内有效,所以每一次循环,新的i值都会覆盖旧值,导致最后输出的是最后一轮的i值如果使用let,...转载 2018-12-20 10:51:56 · 234 阅读 · 0 评论 -
javascript中"return obj === void 0"这种写法的原因和好处
学习underscore.js的时候,发现源码中经常出现类似下面的代码:if (context === void 0) return func; if (array == null) return void 0; 以前没有见过这种写法,到网上搜了一些资料,刚好发现stackoverflow上也有人提出类似的疑问。这里总结归纳下,做个笔记。void其实是javascript中的一个函数,接受一个参数...转载 2018-06-28 09:50:14 · 7635 阅读 · 2 评论 -
javascript作用域(整合)
作用域的几个概念: 1、JavaScript中的函数运行在它们被定义的作用域里,而不是它们被执行的作用域里. 2、全局变量拥有全局作用域,函数内声明的变量只在函数体内有定义,作用域是局部性的。 3、 在函数体内,局部变量的优先级高于全局变量。 4、 定义全局变量的时候可以不需要var进行声明,...转载 2018-05-31 12:00:29 · 440 阅读 · 0 评论 -
javascript 中关于call方法的详解。
关于javascript中的call方法,网上查了一些资料总是不得详解。总结网上的观点,call有两个妙用: 1: 继承。(不太喜欢这种继承方式。) 2: 修改函数运行时的this指针。 js中关于call的解释如下: ...转载 2018-05-31 11:50:49 · 1817 阅读 · 1 评论 -
html meta标签使用总结
meta标签作用META标签是HTML标记HEAD区的一个关键标签,提供文档字符集、使用语言、作者等基本信息,以及对关键词和网页等级的设定等,最大的作用是能够做搜索引擎优化(SEO)。PS:便于搜索引擎机器人查找、分类,互联网应用应该要注意。大网站都是怎么写?在了解这个标签之前,我查找了各个主流网站他们的对于Meta的设置,如下:京东首页的Meta设置:<meta charset="gbk"...转载 2018-05-28 12:32:14 · 220 阅读 · 0 评论 -
怎么理解js的面向对象编程
怎么理解js的面向对象编程面向对象的语言有一个标志,即拥有类的概念,抽象实例对象的公共属性与方法,基于类可以创建任意多个实例对象,一般具有封装、继承、多态的特性!但JS中对象与纯面向对象语言中的对象是不同的,ECMA标准定义JS中对象:无序属性的集合,其属性可以包含基本值、对象或者函数。可以简单理解为JS的对象是一组无序的值,其中的属性或方法都有一个名字,根据这个名字可以访问相映射的值(值可以是基...转载 2018-05-03 14:59:18 · 192 阅读 · 0 评论 -
七种跨域方法
七种跨域方法【1.CROS篇】<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body>&a转载 2018-04-19 12:23:20 · 403 阅读 · 0 评论 -
Protobuf笔记以及Java Js 示例
Google Protocol Buffer1.协议介绍:Google Protocol Buffer是google 的一种数据交换的格式,它独立于语言,独立于平台。google 提供了多种语言的实现:java、c#、c++、go、python、js等,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式,比使用 xml 进行数据交换快许多。可以把它用于分布式转载 2017-11-22 12:25:15 · 670 阅读 · 0 评论 -
ProtoBuf.js 使用技巧
Protocol BuffersProtocol buffers 是一个用来序列化结构化数据的技术,支持多种语言诸如 C++、Java 以及 Python 语言,可以使用该技术来持久化数据或者序列化成网络传输的数据。相比较一些其他的 XML 技术而言,该技术的一个明显特点就是更加节省空间(以二进制流存储)、速度更快以及更加灵活。具体参见 Google 开发文档:https://转载 2017-11-22 12:09:05 · 5500 阅读 · 0 评论 -
初探和实现websocket心跳重连
初探和实现websocket心跳重连心跳重连缘由在使用websocket过程中,可能会出现网络断开的情况,比如信号不好,或者网络临时性关闭,这时候websocket的连接已经断开,而浏览器不会执行websocket 的 onclose方法,我们无法知道是否断开连接,也就无法进行重连操作。如果当前发送websocket数据到后端,一旦请求超时,onclose便会执行,转载 2017-11-22 10:58:59 · 376 阅读 · 0 评论 -
html5之ArrayBuffer:类型化数组
类型化数组是JavaScript操作二进制数据的一个接口。这要从WebGL项目的诞生说起,所谓WebGL,就是指浏览器与显卡之间的通信接口,为了满足JavaScript与显卡之间大量的、实时的数据交换,它们之间的数据通信必须是二进制的,而不能是传统的文本格式。比如,以文本格式传递一个32位整数,两端的JavaScript脚本与显卡都要进行格式转化,将非常耗时。这时要是存在一种机制,转载 2017-11-21 16:53:59 · 863 阅读 · 0 评论 -
CommonJS, AMD, CMD是什么及区别--简单易懂有实例
CommonJS, AMD, CMD都是JS模块化的规范。 CommonJS是服务器端js模块化的规范,NodeJS是这种规范的实现。 AMD(异步模块定义)和CMD(通用模块定义)都是浏览器端js模块化的规范。RequireJS 遵循的是 AMD,SeaJS 遵循的是 CMD。 一、CommonJS 根据CommonJS规范,一个单独的文件就是一个模块。加载模块使用...转载 2018-12-18 10:16:16 · 396 阅读 · 0 评论