那些笔试不会的题

语义

"abc30def40kkk50"如何取数字出来

// 用replace
let a = "abc30def40kkk50".replace(/[a-zA-Z]+/g," ")
console.log(a) //" 30 40 50"
a.split(" ")   //["", "30", "40", "50"]

// 用split
a = "abc30def40kkk50".split(/[a-zA-Z]+/) //如果用[a-zA-Z]*的话,输出的是["", "3", "0", "4", "0", "5", "0"]
console.log(a) // ["", "30", "40", "50"]

 

margin合并的情况 外边距重叠(第三个情况没看懂)

  1. 同一层相邻元素之间
  2. 没有内容将父元素和后代元素分开
  3. 空的块级元素

常用的浏览器本地存储方案 cookie、sessionStorage、localStorage(还跟session对比)

那些笔试不会的题_第1张图片

什么是重排重绘,重排的属性有哪些 来源

  1. 触发重绘的操作:vidibilityoutline、背景色等属性的改变
  2. 触发重排的操作
    1. 页面第一次渲染 在页面发生首次渲染的时候,所有组件都要进行首次布局,这是开销最大的一次重排。

    2. 浏览器窗口尺寸改变

    3. 元素位置和尺寸发生改变的时候

    4. 新增和删除可见元素

    5. 内容发生改变(文字数量或图片大小等等)

    6. 元素字体大小变化。

    7. 激活CSS伪类(例如::hover)。

    8. 设置style属性

    9. 查询某些属性或调用某些方法。比如说:offsetTop、offsetLeft、 offsetWidth、offsetHeight、scrollTop、scrollLeft、scrollWidth、scrollHeight、clientTop、clientLeft、clientWidth、clientHeight

  3. 哪些措施: (其余看不懂)

    1. position属性设置为absolutefixed。重排开销比较小,不用考虑它对其他元素的影响

    2. 可以将要显示的图片拼成巨大的图片,利用图片位置进行控制显示

聊天气泡

那些笔试不会的题_第2张图片





    
    
    
    CSS3画三角形和对话框
    



    
Hello Everyone! I'm Panda.

 获取元素指定属性值的方法

       设置属性 .setAttribute("属性","值")
       获取属性 .getAttribute("属性")

跨域CORS

//服务器大概长这个样子
localhost:90加载的是index.html文件
index.html 有

Hello!

localhost:91代码大概是 app2.get("/", function(req,res){ res.send("你好") }) app2.listen(91)

 试图跨域

// 现在在90端口对应的index.html里添加一段代码试图跨域(90端口请求91端口的数据)



    

Hello!

 解决方法(前两个方法、第三个方法nginx)

 方法一:在接口的服务端修改响应头

//在这个例子中,修改的是91端口的响应头

app2.get("/", function(req,res){
    res.header("Access-Control-Allow-Origin","*")
    res.send("你好")
})
app2.listen(91)

方法二:jsonp 通过href或src去请求脚本不存在跨域问题,只有用ajax请求才存在跨域问题

//对91端口的服务器进行修改
app2.get("/", function(req,res){
    //先在请求中设置一个请求函数
    var funcname = req.query.callback //callback是传入的函数名
    //需要返回的数据内容作为直接调用函数
    res.send(funcname + "('你好')") //格式相当于f('你好')
})
app2.listen(91)
//对90端口对用的index.html进行修改,



    

Hello!

顺序理一下:90端口请求的是91的数据。先在90端口注册一个函数,通过“查询字符串”的方式传递参数,参数名为callback,这与91端口的服务器接收到的参数名是一样的。91端口的 funcname = req.query.callback 获取到了从90端口传递过去的函数,然后返回 funcname + "('你好')" ,返回到90端口页面引用91端口的

你可能感兴趣的:(学习笔记)