自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

打杂人 daza.ren 自述

最近的你, 是我最远的爱;最远的你,是我最近的爱 ......

转载 JS一些特殊知识点(七)--构造函数及面向对象模式

构造函数与 new 命令new 命令的原理使用new命令时,它后面的函数依次执行下面的步骤。创建一个空对象,作为将要返回的对象实例。将这个空对象的原型,指向构造函数的prototype属性。将这个空对象赋值给函数内部的this关键字。开始执行构造函数内部的代码。new.target函数内部可以使用new.target属性。如果当前函数是new命令调用,new.target指向当前函数,否则为und...

2018-04-26 17:51:00 414 1

转载 JS一些特殊知识点(六)

JSON对象目录JSON 格式JSON 对象JSON.stringify()基本用法第二个参数第三个参数参数对象的 toJSON 方法JSON.parse()参考链接JSON 格式JSON 格式(JavaScript Object Notation 的缩写)是一种用于数据交换的文本格式,2001年由 Douglas Crockford 提出,目的是取代繁琐笨重的 XML 格式。相比 XML 格式,...

2018-04-26 16:01:23 293

转载 微信拉黑和删好友,哪个更绝情?

拉黑像是给对方点了哑穴,你不允许他讲话,却也不允许他离开。1“什么情况下,你会拉黑一个人?”无关紧要的朋友,说了不合时宜的话;爱的很辛苦,真的不想再委屈自己了;矛盾升级,不想再吵下去的时候,等等。有多少关系止步于“对方开启了好友验证”,又有多少吵架结束在“消息已发出,但被对方拒收了”? 有人问我:你觉得拉黑和删好友哪个更绝情? 我想了想说:删好友。因为拉黑能留住聊天记录,显得太在意。 其实拉黑不是...

2018-04-26 11:31:19 12563 1

转载 JS一些特殊知识点(五)

Object()Object本身是一个函数,可以当作工具方法使用,将任意值转为对象。这个方法常用于保证某个值一定是对象。如果参数为空(或者为undefined和null),Object()返回一个空对象。var obj = Object();// 等同于var obj = Object(undefined);var obj = Object(null);obj instanceof Ob...

2018-04-24 09:33:23 192

转载 JS一些特殊知识点(四)

加法运算符基本规则加法运算符(+)是最常见的运算符,用来求两个数值的和。1 + 1 // 2JavaScript 允许非数值的相加。true + true // 21 + true // 2比较特殊的是,如果是两个字符串相加,这时加法运算符会变成连接运算符,返回一个新的字符串,将两个原字符串连接在一起。'a' + 'bc' // "abc"如果一个运算子是字符串,另一个运算子是非字符串,这时...

2018-04-23 17:07:41 296

转载 JS一些特殊知识点(三)

Error 实例对象JavaScript 解析或运行时,一旦发生错误,引擎就会抛出一个错误对象。JavaScript 原生提供Error构造函数,所有抛出的错误都是这个构造函数的实例。var err = new Error('出错了');err.message // "出错了"上面代码中,我们调用Error构造函数,生成一个实例对象err。Error构造函数接受一个参数,表示错误提示,可以从实...

2018-04-23 16:10:43 260

转载 JS一些特殊知识点(二)

JavaScript 是一种动态类型语言,变量没有类型限制,可以随时赋予任意值。var x = y ? 1 : 'a';上面代码中,变量x到底是数值还是字符串,取决于另一个变量y的值。y为true时,x是一个数值;y为false时,x是一个字符串。这意味着,x的类型没法在编译阶段就知道,必须等到运行时才能知道。虽然变量的数据类型是不确定的,但是各种运算符对数据类型是有要求的。如果运算符发现,运算...

2018-04-23 14:40:55 173

转载 JS一些特殊知识点(一)

变量变量的声明和赋值,是分开的两个步骤,上面的代码将它们合在了一起,实际的步骤是下面这样。var a;a = 1;如果只是声明变量而没有赋值,则该变量的值是undefined。undefined是一个 JavaScript 关键字,表示“无定义”。var a;a // undefined如果变量赋值的时候,忘了写var命令,这条语句也是有效的。var a = 1;// 基本等同a = ...

2018-04-23 12:44:32 352 1

转载 JS里addEventListener和on的区别

一、首先介绍两者的用法1.on的用法:以onclick为例第一种:obj.onclick = function(){//do something..}第二种:obj.onclick= fn;function fn (){//do something...}第三种:当函数fn有参数的情况下使用匿名函数来传参:obj.onclick = function(){fn(param)};func...

2018-04-20 14:13:18 655

转载 JS事件机制

什么是事件首先用一个人来比喻吧,人都会睡觉,但是只有人感觉到困了才会去睡觉。用程序的话来讲,人这个对象存在一个睡觉的方法,这个方法只有当精神疲劳这个事件触发的时候才会执行:function sleep(){ do sleep}man.ontired=function(){ sleep();}当然,有的人因为一堆工作还没完成,即使深夜12点很累还是得加班工作,这时候,人触发了...

2018-04-20 10:51:46 174

转载 JAVA: HOW TO DEAL WITH THE BOM IN A UNICODE INPUTSTREAM

Ok, so I was happily reading CSV files from an SFTP server. The file content is returned as an InputStream and I I used a BufferedReader to read it line by line. Each line contained either a header or...

2018-04-18 09:40:35 178

转载 Handle UTF8 file with BOM

From Wikipedia, the byte order mark (BOM) is a Unicode character used to signal the endianness (byte order) of a text file or stream. Its code point is U+FEFF. BOM use is optional, and, if used, shoul...

2018-04-18 09:37:07 166

转载 JavaScript 中的 Hoisting (变量提升和函数声明提升)

如何将 函数声明 / 变量 “移动” 到作用域的顶部。术语 Hoisting(提升) 在很多 JavaScript 博文中被用来解释标识符的解析。其实 Hoisting(提升) 这个词是用来解释 变量 和 函数声明 是如何被提升到 函数或全局 作用域顶部的。你在任何的 JavaScript 文档中找不到这个术语,我们说的 Hoisting(提升) 只是使用了其字面含义来做个比喻。如果你已经对 Ja...

2018-04-09 23:48:28 264

转载 JavaScript 核心概念之作用域和闭包

相信大家已经阅读了很多关于作用域和闭包文章,我也一样。作用域和闭包是 JavaScript 中的关键概念之一。当我阅读了《高性能的JavaScript》这本书后,我才完全理解这两个概念。所以今天强烈推荐这本书中的解释,并与其他开发人员分享。作用域下面会提到几个概念:函数对象的[[scope]]属性Scope Chain(作用域链)Execution Context(运行期上下文)Activatio...

2018-04-09 23:47:41 162

原创 [乐意黎原创]从两道前端面试题说起

无意中看到两道前端面试题,乐意黎内心里还有点不是很确定答案,于是动手验证了一下。第一题: 题目如下,从上题分析可知:1处: "小张"2处: "小王"若去掉this, 输出如下:1处: "小王"2处: "小王"验证过程如下;第二题: 分析可知, i的初始值为1, 最大值为9.  内心里感觉肯定有问题,但一时说不上来。验证如下:<script src="https://csdnimg.cn/pu...

2018-04-09 14:32:49 160

转载 云南人,你的家乡在哪里?

小时候就听父亲说,住在云南的汉族人,多半是明朝时候从南京迁来的,老家在南京高石坎、柳树街一带,说这是在家谱里记着的。同样的话我不只听我父亲说过,很多有点经历的云南人说起南京,都会引出类似的话,并且都会有两个相同的词,那就是“高石坎”和“柳树街”。不过当时听了也就听了,也没多在意,反正南京离云南远着呢。大学毕业后来南京工作,偶尔会听到一些南京老人的谈话中,冒出很多方言跟云南很像。比如普通话里的“去”...

2018-04-04 10:09:26 668

转载 南京柳树湾与云南汉族人

摘要:在今日之西南边疆的七彩云南,少数民族集聚区可谓云南省的一个重要标签。上世纪五十年代全国划分成56个民族,仅云南便占了26个。而云南的26个民族中汉族人口占绝对优势,这就牵扯到历史上的移民入滇问题。本文试图从云南境内当地居民入手,从碑刻、家谱、府州县志来考察六百多年前关于南京柳树湾汉民入滇的真实情况。 中国论文网 http://www.xzbu.com/1/view-7497462.htm  ...

2018-04-04 10:03:02 2712

转载 一道颇有难度的JavaScript题

分享一道稍微有难度的JavaScript题目。function Foo() { getName = function () { console.log('1'); }; return this;}Foo.getName = function () { console.log('2');};Foo.prototype.getName = fu...

2018-04-03 17:49:23 192

原创 [乐意黎原创]JS函数声明、 函数表达式与立即执行函数的理解与执行顺序

定义函数的方法定义函数的方法主要有三种:函数声明(Function Declaration)函数表达式Function Expression)new Function构造函数其中,经常使用的是函数声明和函数表达式的函数定义方法,这两种方法有着很微妙的区别和联系,而且这两种方法的使用也容易混淆,所以这篇文章主要总结下这两种函数定义方法的相关知识点,当然本文的主题依然是关于函数提前的。函数声明的典型格...

2018-04-03 17:02:58 2787

转载 《JavaScript高级程序设计》读书笔记

Javascript由以下三部分组成:核心(ECMAScript)文档对象模型(DOM)浏览器对象模型(BOM)ECMAScript组成部分:语法、类型、语句、关键字、保留子、操作符、对象。按照惯例,外部 JavaScript 文件带有.js 扩展名。但这个扩展名不是必需的,因为 浏览器不会检查包含 JavaScript 的文件的扩展名。这样一来,使用 JSP、PHP 或其他 服务器端语言动态生成...

2018-04-02 17:32:16 101

转载 [乐意黎转载]JS中的箭头函数

箭头函数表达式的语法比函数表达式更短,并且不绑定自己的this,arguments,super或new.target。这些函数表达式最适合用于非方法函数,并且它们不能用作构造函数。语法基础语法(参数1, 参数2, …, 参数N) => { 函数声明 }(参数1, 参数2, …, 参数N) => 表达式(单一)//相当于:(参数1, 参数2, …, 参数N) =&g...

2018-04-02 17:20:07 174

转载 JS那些奇怪的题目

第一道:["1", "2", "3"].map(parseInt)解析:.map(callback(value, index, array))回调函数传入三个参数, parseInt(string, radix)接收两个参数。所以map传递给parseInt的参数是这样的(parseInt忽略map传递的第三个参数)[1, 0],[2, 1],[3, 2],然...

2018-04-02 17:09:51 363

转载 面试开发常用的 JavaScript 知识点总结

No1.语法和类型1.声明定义变量类型:var,定义变量;let,定义块域(scope)本地变量;const,定义只读常量。变量格式:以字母、下划线“_”或者$符号开头,大小写敏感。变量赋值:声明但未赋值的变量在使用时值为undefined,未声明的变量直接使用会抛异常。未赋值变量作计算:结果为NaN。例如:var x, y = 1;console.log(x + y); //结果为NaN,因为...

2018-04-02 15:21:42 119

转载 javascript中那些折磨人的面试题

前端工程师有时候面试时会遇到一类面试官,他们问的问题对于语言本身非常较真儿,往往不是候选人可能期待的面向实际的问题(有些候选人强调能干活就行,至于知不知道其中缘由是无关痛痒的)。这类题目,虽然没有逻辑,但某种程度说,确实考察了候选人对于 javascript 这门语言的理解。突然想到这个话题是无聊在翻自己的 Github ,看看以前都写过什么丑货。然后翻到了这篇解释 Javascript quiz...

2018-04-02 15:20:24 103

原创 [乐意黎]JS扩展运算符(spread)三个点号(...)的理解

作用:将一个数组转为用逗号分隔的参数序列。语法function(a, b, ...theArgs) { // ...}描述如果函数的最后一个命名参数以...为前缀,则它将成为一个数组,其中从0(包括)到theArgs.length(排除)的元素由传递给函数的实际参数提供。在上面的例子中,theArgs将收集该函数的第三个参数(因为第一个参数被映射到a,而第二个参数映射到b)和所有后续参数。剩...

2018-04-02 11:23:53 4148

转载 2017、2018年JS面试题记录分享

2017面试分享(js面试题记录)1. 最简单的一道题 '11' * 2 //22 'a8' * 3 //NaN "88'"*2 //NaN var a = 2, b = 3; var c = a+++b; // c = 5 var c = a+++(++b); //7, a=3, b=32. 一道this的问题 var num = 10;...

2018-04-02 10:09:17 11640

提示
确定要删除当前文章?
取消 删除