javascript
arthurwanggang
这个作者很懒,什么都没留下…
展开
-
MIME类型 - 1
媒体类型 (通常称为Multipurpose Internet Mail Extensions) 是一种标准,用来表示文档,文件,或者字节流性质和格式互联网号码分配机构(IANA)是负责跟踪所有官方MIME类型的机构。可以再媒体类型页面中找到最新的完整列表重要浏览器通常使用MIME(而不是文件扩展名)类型来确定如何处理URL,因此再web服务器再相应头添加正确的MIME类型非常重要,如果不正确,浏览器可能曲解文件网站内容将无法正常工作,并且下载文件也会被错误处理独立类型text/plainte翻译 2020-10-29 10:05:31 · 433 阅读 · 1 评论 -
Proxy(代理)和reflection(反射) - 1
前言/ES5和ES6致力与为开发者提供js已有却不可调用的功能。例如在ES5出现以前,JS环境的对象包含许多不可枚举和不可写的属性,但是 开发者不能定义自己的不可枚举或不可写的属性,于是ES5引入了Object.defineProperty()方法来支持开发者去做引擎早就可以实现的事情,ES6添加了一些内建对象,赋予开发者更多访问JS引擎的能力。代理(proxy)是一种可以拦截并改变底层JS引擎操作的包装器,在新语言中通过它暴漏的内部运作对象,从而让开发者可以创建内建的对象。引入【数组问题】在E转载 2020-10-28 16:01:49 · 258 阅读 · 0 评论 -
关于Symbol的思考2
上文有说到迭代symbols,同时记录了Symbol.iterator和基本的实现本文也继续记录symbolSymbol.asyncIterator一个返回对象默认的异步迭代器的方法,被for await of使用与Symbol.Iterator返回的结果不同 Symbol.asyncIterator返回的是一个promise,为了可以使得对象异步迭代。我们需要1: 需要使用**Symbol.ansycItertator取代Symbol.Iterator2:next()方法应该返回一个prom翻译 2020-10-27 17:20:40 · 232 阅读 · 0 评论 -
关于Symbol的思考1
symbol是一种基本的数据类型。Symbol()函数会返回symbol类型的值,该类型具有静态和静态方法。它的静态属性会暴露几个内建的成员对象;它的静态方法会暴漏全局的symbol注册,且类似于内建对象类,但作为构造函数来说是不完整的 因为它不支持语法 " new Symbol()"每个从Symbol返回的symbol值都是唯一的。一个symbol值能作为对象属性的标识符;这是该数据类型仅有的目的。symbol参数是可选的,可以用于调试 但是不能访问symbol本身描述var sym1 = Sy原创 2020-10-27 13:44:20 · 321 阅读 · 2 评论 -
javascript-globalThis
全局属性globalThis包含全局的this值,类似于全局对象(Global object);function canMakeHTTPRequest() { return typeof globalThis.XMLHttpRequest === 'function'}在以前,从不同的Javascript环境获取全局对象需要不同的语句,在web中可以使用window,self 或者frames获取全局对象,但是在web workers 中 只有self可以, 在nodejs中则是须用glo翻译 2020-10-26 15:15:00 · 448 阅读 · 0 评论 -
openUI5/SAPUI框架介绍(02)(持续更新)
fdfff原创 2020-09-24 17:24:56 · 325 阅读 · 0 评论 -
openUI5/SAPUI框架介绍(01)(持续更新)
sapUI5 vs OpenUI51: what is the differences between sapui and openui5?With SAPUI5 and OpenUI5 we provide two deliveries of our UI development toolkit. Both are very closely related, but have their differences.01: OpenUI5 is Open Source. free to use, rel原创 2020-09-22 17:03:26 · 408 阅读 · 0 评论 -
不使用循环,如何创建一个长度为100的数组,并且数组的每一个元素是该元素的下标?
不使用循环,如何创建一个长度为100的数组,并且数组的每一个元素是该元素的下标?今天一朋友圈发现在一问题,讲真是,没有循环还真不知道如何实现,不过有问题提出了,肯定是有解决的方案,有了搜多引擎还有什么解决不了的问题吗?来吧。学习一下吧首先看看for循环的实现var s = [];for(var i=0; i<100;i++){ s[i]=i}console.log(s);或者是var原创 2017-03-27 12:57:38 · 6082 阅读 · 0 评论 -
ios微信点击失效之on
在昨天做的功能中,忽然想换个写法,便发现这样一个坑,真是不走一遍不知道啊, 同样的jQuery, 不同的浏览器差异还是挺大的。$(document).on("click","element",function(){})function里面的就不写了,因为在ios微信上,click方法直接进不去,在安卓上是可以的,在stackoverflow 上也看了很多,为啥这种方式不支持,没有找到确切的答案,解原创 2017-04-14 08:46:58 · 4106 阅读 · 3 评论 -
深入理解ajax系列之一-XHR对象
概述 ajax是asynchronous javascript and XML的简写,中文翻译是异步的javascript和XML,这一技术能够向服务器请求额外的数据而无须卸载页面,会带来更好的用户体验。虽然名字中包含XML,但ajax通信与数据格式无关。ajax包括几个步骤:1:创建ajax请求, 2:发出http请求 3:收到服务器传回的消息 4:更新网页数据、 概括翻译 2017-04-03 16:27:36 · 12464 阅读 · 0 评论 -
深入学习ajax系列之二-请求方式
最常见的请求莫过于get和post了,今天详细的学习一下两种方式的内容,GETGET是常见的请求方式,常用于向服务器查询某些信息,它适用于URL完全指定资源,当请求对服务器没有任何副作用以及服务器的响应式可缓存的。数据发送使用GET的方式发送请求时,数据被追加到open()方法中URL的末尾 数据以问号开始,名和值之间用等号链接起来,名值对之间用&分割,使用GET方式发送的数据常常被称之为查询字符翻译 2017-04-02 13:53:02 · 535 阅读 · 0 评论 -
关键字高亮显示
上次项目中,有很多文本提示的内容,都是相同的颜色,每次遇到这样的情况都是一贯的做法,也是很多人的传统做法,用标签,加上相同的class,如果客户“高兴”,在加几个高亮提示的,在删除几个什么的需求,虽说不是很麻烦的事情,对于技术人员来说还是有很大的改进空间的;闲的时候就改进原来的项目中的一些细节<!DOCTYPE html><html lang="en"><head> <meta char原创 2017-05-22 09:43:14 · 859 阅读 · 0 评论 -
简述浏览器的工作原理(一)
1: 浏览器的主要功能浏览器的主要功能是向服务器发出请求,在浏览器中展示选择的网路资源,一般资源就是HTML文档,也可以是PDF, IMGAGE,或者其他类型,资源的位置由用户使用URI(统一资源表示符)指定。浏览器解释并且显示HTML和CSS规范中指定的,这些规范由W3C进行维护。但是多年来,各个浏览器都没有完全的遵守这些规范(问程序员的坑哪里来?先问浏览器 厂商)。2:浏览器的高层结构...转载 2018-11-23 17:14:06 · 2899 阅读 · 2 评论 -
关于vue项目一些总结
前言:框架vue2.x,构建工具webpack4.x, node.js 8.11x, 系统window,ES6, Axios1:vue项目目录文件结构备注:在初始化项目后src目录下components只用来存放项目公共组件,不用来存放页面其他组件2:基于初始化得项目结构,添加开发所需要得必要文件,所有业务代码统一放在src目录下,对于项目层级的划分可以:抽离所有的api接口统一...原创 2018-11-20 11:23:27 · 3927 阅读 · 3 评论 -
javascript数组之方法(一)
数组的方法居多,今天暂时把所有的方法分为一下的几类,逐一地总结: 对象继承方法、数组转换方法、栈和队列方法、数组排序方法、数组拼接方法、创建子数组方法、数组删改方法、数组位置方法、数组归并方法和数组迭代方法。1:对象的继承方法数组是一种特殊的对象,继承了对象的toString(),toLocaleString().valueOf()方法。1:toString()方法返回的是数组中每个值转载 2017-03-27 10:29:54 · 373 阅读 · 0 评论 -
javascript之数组array详情
创建数组使用字面量语法和Array()构造函数。字面量使用数组字面量是创建数组最简单的方法,在方括号内将数组元素用都好隔开即可。var s = [];//空数组var s = [1,1,1,1,1]//有5个值的数组。虽然javascript数组与其他语言中数组都是数据的有序列表,但是与其他语言不同的是,js的每一项可以保留任何类型的数据。var s = [1,true,'a'];数组字面量不一定转载 2017-03-26 15:25:10 · 688 阅读 · 0 评论 -
javascript垃圾回收机制
javascript具有自动垃圾回收机制,执行环境会负责管理代码执行过程中使用的内存,在编写javascript的过程中也是没有注意内存的问题。今天也好好学习一下。原理垃圾收集机制的原理简单说就是:找出那些不再使用的变量,然后释放其占用的内存,垃圾收集器会按照固定的时间,周期性的执行这一操作,局部变量只是在函数执行的过程中存在。而这个过程,会为局部变量在栈(或堆)内分配相应的空间,以便储存他们的值。翻译 2017-03-26 12:43:31 · 404 阅读 · 0 评论 -
javascript变量提升(一)
有人会理解js的代码是从上到下执行的,如果按照这样的思路,有些情况会的到错误的结果,考虑一下代码:a = 3;var a;console.log(a);应该输出什么呢?有些开发者觉得会输出undefined因为var a在 a=2 之后,变量a被重新定义了。但是没有被赋值,所以是undefined,其实输出的是3 (可自行console.log(a));再来看一段代码console.log(a翻译 2017-02-19 17:02:08 · 603 阅读 · 1 评论 -
call和apply
首先申明,本文是来自阮一峰前辈的文章,还是决定自己在敲一遍,在这里我想不用放大师的链接了(想必太多的人知道了);apply和call的作用在javascript中,call和apply都是为了改变某个函数运行的上下文(context)而存在的,换句话说就是改变函数体内部的this指向。javascript的一大特点就是,函数存在【定义时上下文】和【运行时上下文】以及【上下文是可以改变的】这样的概念。转载 2017-03-08 13:47:26 · 479 阅读 · 0 评论 -
理解JQuery对象$.html
$对象说起JQuery,最明显的标志,毫无疑问是$,$其实是jQuery的缩写。而是用$()包装的对象就是jQuery对象与jQuery对象相应的就是DOM对象,DOM对象其实就是DOM元素节点对象如果直接写document,则指的是document的DOM元素对象document.onclick = function(){ alert("dom")}而如果用$()包裹起来,如$(doc翻译 2017-03-07 08:57:56 · 1023 阅读 · 0 评论 -
alert和console.log的区别
不得不说是一个很简单的问题,不过在平时的时候没有注意一些细节,昨天晚上回家的路上听人说到,今天赶紧记下来。alert1:有阻塞作用,不点击确定后续代码无法继续执行 2:alert只能输出string,如果alert的是对象,会自动调用toString()方法 -Object的toString()方法会返回 类型alert([1,2,3]);// 1,2,33:alert()不支持多个参翻译 2017-03-10 09:12:20 · 721 阅读 · 0 评论 -
div的contenteditable,光标聚集到最后
div的contenteditable在实际项目中,有些手机是可以唤起键盘,但是无法编辑,最后还是用了input,还该别人的项目时,遇到这样的问题,点击修改,光标聚集在最后,好在找到一种方法,写记下来function keepLastIndex(obj) { if (window.getSelection) {//ie11 10 9 ff safari obj.focus()转载 2017-03-20 15:33:07 · 13082 阅读 · 4 评论 -
javascript数组方法之(二)
pop()pop()方法是从数组末尾一处最后一项减少数组length的值然后返回移除的项,该数组会改变原来的数组。var a = ['a', 'b', 'c'];console.log(a,a.pop()); // ['a', 'b'] 'c'对于空数组使用pop()方法,不会报错,会返回undefinedvar a = [];console.log(a,a.pop()转载 2017-03-28 22:56:30 · 285 阅读 · 0 评论 -
javascript类型系统——字符串String类型
前言 javascript没有表示单个字符的字符型,只有字符串String类型,字符型相当于仅包含一个字符的字符串 字符串String是javascript基本数据类型,同时javascript也支持String对象,它是一个原始值的包装对象。在需要时,javascript会自动在原始形式和对象形式之间转换。今天稍微总结一下一些关于String()的相关定义 字符串String类型是由引号转载 2017-03-13 10:33:56 · 554 阅读 · 0 评论 -
String类型的属性和方法(一)
属性: 字符串String类型的每个实例都有一个length属性,表示字符串中的字符个数。由于字符串是不可变的,所以字符串的长度也不可变。 字符串的length属性不会在for/in循环中枚举,也不能通过delete操作符删除。 注意对于字符串s来说,最后一个字符的索引是s.length - 1。 var str = "test";console.l翻译 2017-03-13 16:28:15 · 764 阅读 · 0 评论 -
深入学习javascript函数系列之一——函数概述
目前对编程函数的理解只是停留在函数可以执行一些操作,虽说也能写出一些方法,但是缺少系统的认识,今天先初步深入一下,虽说也不能完全理解,总归是比以前有了更进一步的认识。相信不断的深入,会有更多的收获。函数的定义总共有3中函数的定义:1:函数声明使用function关键字,后面接上参数和函数体,function funcname([arg1 [,arg2 [...,argn]]]){ state转载 2017-03-30 00:23:10 · 352 阅读 · 0 评论 -
String类型的属性和方法(二)
创建字符串:创建字符串共有slice,substr,substring3中方式。slice slice(start,end)方法需要两个参数start和end,返回这个字符串中从start开始到end(但不包含end)位置的字符的一个字符串;如果end为undefined或者是不存在,则返回从start位置到字符串结尾的所有字符如果end参数是负数,它表示在原数组中的倒数第几个元素开始提取如果转载 2017-03-14 09:25:54 · 570 阅读 · 0 评论 -
深入ajax系列之三-响应解码
前言: 我们接收到的响应主体类型可以是多种形式的,包括字符串String、ArrayBuffer对象、二进制Blob对象、JSON对象、javascirpt文件及表示XML文档的Document对象等,其中ArrayBuffer对象,二进制Blob对象,没遇到过,今天学习到了,在最后也初步的学习一下,遇到问题在总结学习。属性一般的如果接受的数据是字符串,使用responseText就可以,也是翻译 2017-04-10 09:19:43 · 491 阅读 · 0 评论 -
String类型的属性和方法(三)
查找字符串的位置:有两个实现的方式lastIndexOf()和indexOf();indexOf(searchString,index)接受两个参数,searchString是首次出现的位置,如果没有找到则返回-1,该方法会隐式调用String()转型函数,将searchString非字符串转化为字符串;隐式调用Number()转型函数。将index非数字(undefined除外)转换为数值。 s转载 2017-03-15 10:07:03 · 1157 阅读 · 0 评论 -
javascript类型系统——包装对象
javascipt对象是一个复合值,他是属性或者是一直命名值的集合,通过’.’来引用属性值,当属性值是一个函数的时候,称其为方法。通过o.m()来调用对象o中的方法,字符串也是同样具有属性和方法。var string = 'hello world';console.log(string.length);//11;既然字符串不是对象,为什么会有属性呢 ,今天总结学习其正规的说法,就是包装对象了。定义翻译 2017-03-25 16:28:59 · 424 阅读 · 0 评论 -
javascript基础语法——表达式
原始表达式 原始表达式是表达式的最小单位——它不再包括其他的表达式。 原始表达式分为字面量、关键字和变量;详细的来说包括this关键字、标识符引用、字面量引用、数组初始化、对象初始化和分组表达式。PrimaryExpression : this Identifier Literal ArrayLiteral ObjectLiteral ( Expression )this关键字标识符翻译 2017-03-25 17:14:43 · 734 阅读 · 0 评论