- 清除浮动的方法
- 在浮动元素后面添加一个块级元素占位,并设置clear:both
- 父元素设置overflow:hidden,或者设置overflow:auto
- 对于某<div>节点下面有若干<h1>、<h2>节点,对于选择器div:after选择权,以下描述正确的有:( )
- 可作为<div>最后子节点插入内容
- 必须配置position才可生效
- 必须配置content才可生效
- 可在<div>后面,跟<div>同一层插入内容
- chrome中,默认https不会阻断什么http请求(不会。。。)选择有:
Frames、Script、Css、WebSocket、XHR、Images - 对一个没有嵌入在<iframe>中的<a href="./go">元素,当给a配置哪个target后可以做到在点击连接时覆盖当前页面
_current、_top、_self、_blank、_parent - url中"?"和“#”
描述 ? # 改变浏览器的访问历史 true true 网页重载会把其数据发送到服务器 true false 是否会触发重载 true false
-
什么情况会导致浏览器HTTPS证书告警
- 过期的证书
- 自签名的证书
- 站点的域名与证书颁发时域名不一致
- 站点的域名与证书颁发时域名不一致
- 私有CA颁发的证书(这是可以的。。)
-
let sangfor = { a:100, log:b=>console.log(this.a,b,this.a+b) }; sangfor.log(300)//undefined 300 NaN sangfor.log.call({a:300},400)//undefined 400 NaN sangfor.log.bind({a:500},600) sangfor.log.apply({a:700},800)//抛出未处理异常
箭头函数的this只会绑定其在定义时的this,使用apply、call、bind方法指向的对象会被默认忽略。
let x = { toString(){ return 20; }, valueOf(){ return '30' } } console.log(x=='20') console.log(x==30) //false //true
oo = { get sangfor(){ console.log('get') }, set sangfor(v){ console.log('set') } } oo.sangfor = '100' console.log(oo.sangfor) //set //get //undefined
-
在“use strict”模式下,以下哪些是禁止的:
- 使用eval
- 使用以0为前缀的8进制数,比如:sangfor = 010
- 使用arguments.callee
- 使用未定义的全部变量
-
var sangfor = NaN function sangfor(){} if(typeof sangfor === 'number')console.log(100) else if(typeof sangfor === 'function')console.log(200) else if(typeof sangfor === 'object')console.log(300) else console.log(400) //100 typeof NaN === 'number'
typeof和===的优先级
function load(){ return Promise.resolve('sangfor') .then(result=>{ throw result; }) .catch(result=>'error') } async function fn(){ console.log('zz',await load()); } fn() //zz error
-
(function(){ for(var i=0;i<5;i++){ setTimeout(console.log,i,i) } }()) //0 //1 //2 //3 //4
setTimeout第三个参数是给第一个回调函数传参的意思
-
以下方法可以有效防止WEB站点被中间人攻击的方式有:()
- 所有选项都不行
- 后端发送数据时先在后端加密,前端接收再解密
- 前端发送数据时先在前端加密,后段接收再解密
- 使用全站HTTPS
-
对于CSRF攻击,以下描述正确的有
- 可以在发请求的时候加入验证码进行防御
- 引起原因主要是服务器没有判断cookie的合法性
- 攻击者不需要获取到用户的cookie即可攻击
- 可以在cookie加入额外的token进行防御
-
对于HTTP中的针对登陆用户的会话管理,对生成的令牌描述正确的有:
- 一般需要生成多个令牌,全部检验通过才响应需求
- 令牌必须使用强加密算法,比如:BASE64
- 禁止仅在URL中传送会话令牌
- 成功验证登陆后必须重新生成会话令牌,旧的令牌必须失效
- 使用cookie传送绘画令牌可以防御csrf攻击
-
写一个函数把数值转化成对应的中文表达式
限制条件:- 输入的数值格式都是正常的,不需要考虑不正常的情况
- 需要支持小数
- 数值大小没有限制
const inputStr = readline() var trans = ['零','一','而','三','四','五','六','七','八','九'] const result ='' if (inpuStr.indexOf('.')){ var integerPart = inputStr.split('.')[0] for(let i=0;i<integerPart.length;i++){ result+=trans[integerPart[i]] } }
实现一个AI任务队列,AI需要提供以下接口