小问题笔记

  • 深拷贝,浅拷贝

此问题针对于引用类型
浅拷贝,拷贝(地址)完后,改变任意对象的值后,均改变
深拷贝,拷贝完后,与前对象无关
实现深拷贝:

  1. 开辟新的栈空间复制
  2. json序列化和反序列化后

  • XSS和CSRF

跨站脚本攻击,跨站请求伪造
前者通过在前后端对输入部分的内容进行验证过滤,并且对特殊字符进行编码
后者通过增加动态验证(二次验证),以及对cookies进行删除


  • 双向数据绑定的原理和SPA路由原理
  • 通过Object.defineProperty()实现监控数据,准确的发送变更位置给视图
  • 通过window.onhashchange事件监听url的#变化,H5新增的history api
    A)history.pushState(data, title [, url]):往历史记录堆栈顶部添加一条记录; data会在onpopstate事件触发时作为
    参数传递过去;title为页面标题,当前所有浏览器都会 忽略此参数;url为页面地址,可选,缺省为当前页地址;
    B)history.replaceState(data, title [, url]) :更改当前的历史记录,参数同上;
    C)history.state:用于存储以上方法的data数据,不同浏览器的读写权限不一样;
    D)window.onpopstate:响应pushState或replaceState的调用;

http://www.cnblogs.com/bigbearbb/p/4261017.html


  • 高效化递归函数

将需要多次计算的值,利用数组将其保存下来【记忆函数】
callee和caller
arguments.callee:指向参数arguments对象的函数【有利于匿名函数的递归和封装】
functionName.caller:指向当前函数的直接父函数

console.time(4)
let fibonacci3 = function(){
    let memo = [0,1] ;
    let fib = function(n){
        let result=memo[n] ;
        if(typeof result!=='number'){
            result=arguments.callee(n-1) + arguments.callee(n-2) ;
            memo[n]=result ;
        }
        return result ;
    };
    return fib ;
}();
console.log(fibonacci3(102));
console.timeEnd(4)

  • React、Vue、Angular

http://36kr.com/p/5085661.html


  • call和apply

object[.functionname].call(obj,arg1,arg2,...)
object[.functionname].apply(obj,[arg1,arg2,...])
作用均是使Object中的作用域变成obj的,即改变this的作用域


  • 事件流和事件委托

事件流:捕获阶段、执行阶段、冒泡阶段
捕获为由外向内触发
冒泡为由内向外触发
addEventListener() 第三个参数为bool false为冒泡阶段
stopPropagation()、stopImmediatePropagation()可阻止事件流的后续传播。
事件委托就是父元素监听子元素的冒泡事件
$('元素').on( events [, selector ] [, data ], handler )

  • promise

promise对象是一个对未来结果的一个承诺
var promise = new promise(function(resolve,reject){})实例化
resolve(data) 代表成功时返回的值
reject(data) 代表失败时返回的值
和promise.resolve()/reject效果一致
同时还有其他方法如all()等
promise的状态有三:
pending初始状态,fulfilled成功,rejected失败
改变状态后不可更改

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,761评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,953评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,998评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,248评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,130评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,145评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,550评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,236评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,510评论 1 291
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,601评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,376评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,247评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,613评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,911评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,191评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,532评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,739评论 2 335

推荐阅读更多精彩内容