前端的习题和易错知识点(面试)

1.js不能用于做科研(因为计算有精度)但是科研用作一般互联网产品

console.log(0.1+0.2)

结果
在这里插入图片描述
2.1怎么保留几位小数(toFixed)

	<script>
       var a=3.1451926;
       var b=a.toFixed(3)//保留3位小数
       console.log(b)
    </script>

结果
在这里插入图片描述
2.2保留的小数里面若遇见有0的时候不显示0

	<script>
       var a=1000;
       var b=100;
       var c=a/b;
       var d=c.toFixed(2)             //保留2位小数
       console.log(d)
    </script>

在这里插入图片描述
不显示0(加上这个:/100*100 )因为那里是保留2位所以是100

	<script>
       var a=1000;
       var b=100;
       var c=a/b;
       var d=c.toFixed(2)/100*100             
       console.log(d)
    </script>

结果
在这里插入图片描述
3. 对浏览器的内核的了解?有那些内核?
浏览器要渲染给用户看必须要加载html编码和js脚本,渲染引擎渲染页面的UI和js执行引擎操作内存,就是浏览器的重要组成程序:内核
根据不同的浏览器厂商,他们使用了不同的内核,内核中的程序很难实现,根据我的了解有些内核是自己公司实现的有些是直接借用的:比如:

  1. IE浏览器内核:Trident内核,也是俗称的IE内核;

  2. Chrome浏览器内核:统称为Chromium内核或Chrome内核,以前是Webkit内核,现在是Blink内核;

  3. Firefox浏览器内核:Gecko内核,俗称Firefox内核;

  4. Safari浏览器内核:Webkit内核;

  5. Opera浏览器内核:最初是自己的Presto内核,后来是Webkit,现在是Blink内核;

4 ES5和ES6有什么区别?
1.通过不同的语法作答(说服面试官,你新技术是会的)
2.优化 性能 缺陷
3.自己去查一查ES6的更深入的技术点

第5题

		var a=100
        a=a+20
        var b=a%19
        var re=typeof(b)
        // 选择题re变量的数据类型是什么?
        console.log(re)

在这里插入图片描述
但是他问的是re的数据类型(取出re的值的数据,也就是number是什么数据类型)

		var a=100
        a=a+20
        var b=a%19
        var re=typeof(b)
        console.log(re)
        var re1=typeof(re)
        console.log(re1)

在这里插入图片描述

所以应该是string

6请获取网页的url参数转化为对象?

7.es6箭头函数的特点

  • 要有个箭头
  • 箭头的前面是小括号,放形参,只有一个形参的时候可以省略小括号;
  • 箭头的后面是函数体;
  • 如果函数体只有一个语句,没有{},此时的返回值不需要return;
  • 箭头函数里面的this总是指向最靠近的function 内部的this;
  • 对象里面的方法,尽可能不要使用箭头函数;
  • 箭头函数里面没有arguments,可以使用…reset,接收过来就是数组类型,接收的是形参之外的所有的实参;

8.字符串的所有的方法:se5,se6
length 属性返回字符串的长度
indexOf() 方法返回字符串中指定文本首次出现的索引(位置)
JavaScript 从零计算位置。0 是字符串中的第一个位置,1 是第二个,2 是第三个 …
lastIndexOf() 方法返回指定文本在字符串中最后一次出现的索引
如果未找到文本, indexOf() 和 lastIndexOf() 均返回 -1。
search() 方法搜索特定值的字符串,并返回匹配的位置
两种方法,indexOf() 与 search()这两种方法是不相等的。区别在于:
search() 方法无法设置第二个开始位置参数。
indexOf() 方法无法设置更强大的搜索值(正则表达式)。
有三种提取部分字符串的方法:

  • slice(start, end) 可以接受负索引
  • substring(start, end) 无法接受负的索引
  • substr(start, length) 第二个参数规定被提取部分的长度

replace() 方法用另一个值替换在字符串中指定的值 replace() 方法不会改变调用它的字符串。它返回的是新字符串。默认地,replace() 只替换首个匹配 对大小写敏感
toUpperCase() 把字符串转换为大写
toLowerCase() 把字符串转换为小写
concat() 连接两个或多个字符串
trim() 方法删除字符串两端的空白符
charAt() 方法返回字符串中指定下标(位置)的字符串
charCodeAt() 方法返回字符串中指定索引的字符 unicode 编码
split() 将字符串转换为数组 如果字符串包含指定值,
includes() 方法返回 true。
如果字符串以指定值开头,则 startsWith() 方法返回 true,否则返回 false
如果字符串以指定值结尾,则 endsWith() 方法返回 true,否则返回 false
toString() 以字符串返回数值。所有数字方法可用于任意类型的数字(字面量、变量或表达式) **toExponential()**返回字符串值,它包含已被四舍五入并使用指数计数法的数字
toFixed() 返回字符串值,它包含了指定位数小数的数字
toPrecision() 返回字符串值,它包含了指定长度的数字
valueOf() 以数值返回数值
parseFloat() 解析一段字符串并返回数值。允许空格。只返回首个数字
MAX_VALUE 返回 JavaScript 中可能的最大数字
MIN_VALUE 返回 JavaScript 中可能的最小数字
NaN 属于 JavaScript 保留字,指示数字并非合法的数字。
了解更多:https://www.w3school.com.cn/js/js_array_methods.asp

9.js是什么样的语言?

  • js是一个基于面向对象设计的单线程的静态脚本语言.

名词解释

  • 面向对象 ( 类 实例对象 继承 封装 多态 )
  • 基于面向对象设计 本质没有继承 类 等等语法 但是按照自己的语法特征(原型)
  • 单线程 代码只能一个业务一个业务的执行
  • 静态 var a={}; var re=a*20
  • 脚本语言 > 嵌入式语言 灵活

第10题

        var a=(b=0)&&(c=30)
        console.log(a)
        console.log(b)
        console.log(c)

结果(提示: 0作布尔判定时会被判定为flase,取一个变量的数据时没有声明就会报错 取的是最近一次保存的数据,js中变量保存数据已经有了就更新,没有就会隐藏声明A是一个表达式,B也是一个表达式,re等于A表达式或者B表达式(如果A表达式判定为布尔表达式的值的false)re就是A否则为B表达式 如果re为A表达式那么B表达式不运行)

CSS垂直水平居中的几种方法
个人觉得他的不错 详细挺好的
https://juejin.cn/post/6844903919144075278

11题
事件代理:网页中的一种设计是想 利用事件对象中引用的目标对象这个技术来实现的
无论这个事件触发时 是不是,目标对象的监听器 在监听器内部的事件对象event中都可以访问这个事件的目标对象,利用这个特点来绑定事件给父级元素 来代理子集元素的业务,这种设计就是事件代理

12题
浏览器加载一份html文档是怎么加载的
1.把标签 文本注释 属性等等 解析为节点树(DOM Tree)
2.解析DOMTree中的节点时遇到了不同的元素会有不同的操作
2.1 style标签或者link-css yudaolcss代码 就会把css代码解析为css样式结构体
2.2 遇到src会去加载(网络请求)资源
3.把css样式结构体和DOM Tree 结合变成呈现树/渲染树(Render Tree)
4,按照Redner Tree 绘制页面
13题
1.浏览器是怎么加载网页的?
1.1浏览器的地址栏 输入的网址 敲回车 会请求一次服务器
服务器会返回一个数据包 就是网页代码(html格式的文本文档)
1.2浏览器开始去运行解析html文本(此时还没有外部 图片,js,css,字体库资源)
1.2.1解析时 遇到了 img标签的src属性 会异步的 开始再次网络请求服务器 ,服务器返回数据包(图片编码) 然后渲染出来
1.2.2解析时 遇到了link-href 会异步的 开始再次网络请求服务器 ,服务器返回数据包(css编码) 然后加载
1.2.3解析时 xxxx-url会异步的 开始再次网络请求服务器 ,服务器返回数据包(对应编码) 然后加载
1.2.4解析时script-src会异步的 开始再次网络请求服务器 ,服务器返回数据包(js编码) 然后用js引擎去执行编码
1.3所有资源加载完毕了 才会触发window.onload

(本作品作为个人学习笔记,有网上适当借鉴,无盈利目的)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值