Bunny's Code Burrow

this is a JS world


  • Home

  • About

  • Archives

  • Tags

  • Search

interview 8

Posted on 2020-05-29

Interview 8

关于作用域和自由变量的场景题

判断字符串以字母开头,后面字母数字下划线,长度6-30

关于作用域和自由变量的场景题

Read more »

objectcreate()

Posted on 2020-05-21

How to use Object.create()

函数声明和函数表达式的区别

函数声明 function fn(){}

函数表达式 const fn = function(){}先定义一个变量再赋值为函数

函数声明会在代码执行前预加载,而函数表达式不会

代码演示

 const res = sum(10,20)
 console.log(res)
//函数声明,会在代码执行器预加载
    function sum(x,y){
        return x+y
    }



//函数表达式不行
const sum=function sum(x,y)
    {
        return x+y
    }
Read more »

jsonp and ajax

Posted on 2020-05-13

jsonp本质是ajax吗

jsonp本质是ajax吗?

ajax是通过xml实现
jsonp是通过html实现

浏览器的同源策略(服务端没有同源策略)和跨域
哪些html标签能绕过跨域?img script
jsonp定义一个全局函数去访问一个js

document.load(网页全部加载完成才实现)和ready(dom渲染完成即可实现)的区别

== 和=== 区别

== 会尝试类型转换

=== 严格执行

interview 5

Posted on 2020-05-13

Interview 5

如何阻止事件冒泡和默认行为?

event.stopPropagation()
event.preventDefault()

查找,添加,删除,移动DOM节点的方法

如何减少DOM操作

缓存DOM查询结果

多次DOM操作合并到一次插入

new closure

Posted on 2020-05-13

再讲闭包closure

函数call和apply区别

事件代理(委托)是什么

闭包是什么,有什么特性,有什么区别

函数call和apply区别

fn.call(this,p1,p2,p3)// call的参数是一个个拆分传进去
fn.apply(this,arguments)// arguments是数组或者类数组传参

事件代理(委托)是什么

Read more »

map

Posted on 2020-05-12

MAP

  1. 数组slice和splice的区别
    slice是一个纯函数,splice不是一个纯函数
  2. [10,20,30].map(parseInt)返回结果是什么
  3. ajax get和post的结果区别
Read more »

isEqual

Posted on 2020-05-11

isEqual

手写深度比较,模拟loadash is Equal

split()和join()的区别

数组的pop push unshift shift分别做什么

手写深度比较lodash.isEqual

实现如下效果
const obj1={a:10,b:{x:100,y:200}}
const obj2={a:10,b:{x:100,y:200}}
isEqual(obj1,obj2)===true

代码演示

Read more »

Interview test1

Posted on 2020-05-10

Interview test one

Q:var 和 let const 区别

A:var是ES5语法,let const是ES6语法;var有变量提升
var 和let是变量,可修改,const是常量,不可修改
let const 有块级作用域,var没有

代码演示

var-let-const.js
//变量提升ES5
console.log(a)//undefined
var a =200

var a
console.log(a)//undefined
a = 200

//函数表达式 vs 函数声明
Read more »

xsrf

Posted on 2020-05-08

XSRF攻击

你正在购物,看中了某个商品,商品ID是100

付费接口是xxx.com/pay?id=100,但是没有任何验证

我是攻击者, 我看中了一个商品,id是200

我给你发一封电子邮件,邮件标题很吸引人

但是邮件正文隐藏着

你一查看邮件,就帮我购买了id是200的商品

使用post 接口

Read more »

xss

Posted on 2020-05-07

如何预防xss攻击

xss跨站请求攻击

XSRF跨站请求伪造

XSS攻击

一个博客网站,发表一篇blog,其中嵌入 <script>脚本

脚本内容:获取cookie,发送到我的服务器(服务器允许跨域)

发布这篇blog,有人查看,我就轻松收割访问者的cookie

Read more »
123…16
Jenny Zeng

Jenny Zeng

Loving code ,especially javascript, React Native

155 posts
37 tags
GitHub Linkedin
© 2020 Jenny Zeng
Powered by Hexo
Theme - NexT.Pisces