美文网首页
2020-06-05-广州某尊软件

2020-06-05-广州某尊软件

作者: 南方小成 | 来源:发表于2020-06-07 19:06 被阅读0次

1,一个页面结构基本组成?

答:
html: 不仅可以包含文字,还可以包含图片、链接,甚至音乐、程序等非文字元素的标记语言 (展示给用户,不能太单调,css)
css: 是一种用来表现HTML的计算机语言,能使HTML页面变得更加美观要展示给用户光漂亮是不够的,用户还要能够动态的操作HTML页面,也就是让浏览器和用户之间的交互不仅仅是用户能浏览html中的内容,还要能对html页面操作,JavaScript
JavaScript: 用来给HTML网页增加动态功能、交互行为

2,css选择器和优先级

答:全局选择器(通配符*)

  • 标签选择器(body,div,p,ul,li)

  • 类选择器(.)

  • ID选择器(#)

  • 组合选择器(.head .head_loge,两选择器之间用空格隔开)

  • 后代选择器(#head .nav li ul,从父级到子孙集的选择器)

  • 子选择器(div>p)

  • 群组选择器(div,span,img{color:red;},即将具有相同样式的标签分组显示)

  • 继承选择器(div p,两选择器用空格键分开)

  • 伪类选择器(链接样式a元素的伪类::link(未被访问),:visited(已访问),:active(被选择),:hover(当鼠标悬停在链接上))

  • 字符串匹配的属性选择符(^(开始),$(中间),*(结尾))

  • css相邻兄弟选择器(如h1+p)

CSS选择器优先级:!important >行内样式>ID选择器>Class选择器>标签>通配符

规律:那个离标签近,那个选择器权重就大

3,什么是闭包?闭包产生的背景?有什么问题?怎么解决?举一个闭包的例子?

答:闭包就是能够读取其他函数内部变量的函数。由于在Javascript语言中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成“定义在一个函数内部的函数”。所以,在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。

闭包的用途:闭包可以用在许多地方。它的最大用处有两个,一个是前面提到的可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中。

使用闭包的注意点:

  • 由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包,否则会造成网页的性能问题,在IE中可能导致内存泄露。解决方法是,在退出函数之前,将不使用的局部变量全部删除

  • 闭包会在父函数外部,改变父函数内部变量的值。所以,如果你把父函数当作对象(object)使用,把闭包当作它的公用方法(Public Method),把内部变量当作它的私有属性(private value),这时一定要小心,不要随便改变父函数内部变量的值。

4,Js有哪些内置对象?你工作中常用那种?列举几个你常用的方法?

答:

一:Arguments 函数参数集合

  • arguments[ ] 函数参数的数组

  • Arguments 一个函数的参数和其他属性

  • Arguments.callee 当前正在运行的函数

  • Arguments.length 传递给函数的参数的个数

二:Array 数组

  • length 属性 动态获取数组长度 join() 将一个数组转成字符串。返回一个字符串。

  • reverse() 将数组中各元素颠倒顺序

  • delete 运算符 只能删除数组元素的值,而所占空间还在,总长度没变(arr.length)。

  • shift()删除数组中第一个元素,返回删除的那个值,并将长度减 1

  • pop() 删除数组中最后一个元素,返回删除的那个值,并将长度减 1。

  • unshift() 往数组前面添加一个或多个数组元素,长度要改变。 arrObj.unshift(“a” , “b,“c”)

  • push() 往数组结尾添加一个或多个数组元素,长度要改变。arrObj.push(“a” , “b” , “c”)

  • concat( )连接数组 slice( ) 返回数组的一部分 sort( ) 对数组元素进行排序 splice( ) 插入、删除或替换数组的元素

  • toLocaleString( ) 把数组转换成局部字符串 toString( ) 将数组转换成一个字符串

三:Boolean 布尔对象

  • Boolean.toString( ) 将布尔值转换成字符串

  • Boolean.valueOf( ) Boolean 对象的布尔值

四:Date 日期时间

  • Date.getDate( ) 返回一个月中的某一天

  • Date.getDay( ) 返回一周中的某一天

  • Date.getFullYear( ) 返回 Date 对象的年份字段

  • Date.getHours( ) 返回 Date 对象的小时字段

  • Date.getMilliseconds( ) 返回 Date 对象的毫秒字段

  • Date.getMinutes( ) 返回 Date对象的分钟字段

  • Date.getMonth( ) 返回 Date 对象的月份字段

  • Date.getSeconds( ) 返回 Date对象的秒字段

  • Date.getTime( ) 返回 Date 对象的毫秒表示

  • Date.getTimezoneOffset( ) 判断与GMT 的时间差

  • Date.getUTCDate( ) 返回该天是一个月的哪一天(世界时)

  • Date.getUTCDay( )返回该天是星期几(世界时)

  • Date.getUTCFullYear( ) 返回年份(世界时)

  • Date.getUTCHours( ) 返回Date 对象的小时字段(世界时)

  • Date.getUTCMilliseconds( ) 返回 Date 对象的毫秒字段(世界时)

  • Date.getUTCMinutes( ) 返回 Date 对象的分钟字段(世界时)

  • Date.getUTCMonth( ) 返回Date 对象的月份(世界时)

  • Date.getUTCSeconds( ) 返回 Date 对象的秒字段(世界时)

  • Date.getYear( ) 返回 Date 对象的年份字段(世界时)

  • Date.parse( ) 解析日期/时间字符串

  • Date.setDate( ) 设置一个月的某一天

  • Date.setFullYear( ) 设置年份,也可以设置月份和天

  • Date.setHours( ) 设置 Date 对象的小时字段、分钟字段、秒字段和毫秒字段

  • Date.setMilliseconds() 设置 Date 对象的毫秒字段

  • Date.setMinutes( ) 设置 Date 对象的分钟字段和秒字段

  • Date.setMonth( ) 设置 Date 对象的月份字段和天字段

  • Date.setSeconds( ) 设置 Date对象的秒字段和毫秒字段

  • Date.setTime( ) 以毫秒设置 Date 对象

  • Date.setUTCDate( )设置一个月中的某一天(世界时)

  • Date.setUTCFullYear( ) 设置年份、月份和天(世界时)

  • Date.setUTCHours( ) 设置 Date 对象的小时字段、分钟字段、秒字段和毫秒字段(世界时)

  • Date.setUTCMilliseconds( ) 设置 Date 对象的毫秒字段(世界时)

  • Date.setUTCMinutes( ) 设置 Date 对象的分钟字段和秒字段(世界时)

  • Date.setUTCMonth( ) 设置 Date 对象的月份字段和天数字段(世界时)

  • Date.setUTCSeconds( ) 设置 Date 对象的秒字段和毫秒字段(世界时)

  • Date.setYear( ) 设置 Date 对象的年份字段

  • Date.toDateString( ) 返回 Date 对象日期部分作为字符串

  • Date.toGMTString( ) 将 Date 转换为世界时字符串

  • Date.toLocaleDateString( ) 回 Date 对象的日期部分作为本地已格式化的字符串

  • Date.toLocaleString( ) 将 Date 转换为本地已格式化的字符串

  • Date.toLocaleTimeString( ) 返回 Date 对象的时间部分作为本地已格式化的字符串

  • Date.toString( ) 将 Date 转换为字符串

  • Date.toTimeString( ) 返回 Date 对象日期部分作为字符串

  • Date.toUTCString( ) 将 Date 转换为字符串(世界时)

  • Date.UTC( ) 将 Date 规范转换成毫秒数

  • Date.valueOf( ) 将 Date 转换成毫秒表示

五:Error 异常对象

  • Error.message 可以读取的错误消息

  • Error.name 错误的类型

  • Error.toString( ) 把 Error 对象转换成字符串

  • EvalError 在不正确使用 eval()时抛出

  • SyntaxError 抛出该错误用来通知语法错误

  • RangeError 在数字超出合法范围时抛出

  • ReferenceError 在读取不存在的变量时抛出

  • TypeError 当一个值的类型错误时,抛出该异常

  • URIError 由 URl 的编码和解码方法抛出 Function 函数构造器

  • Function.apply( ) 将函数作为一个对象的方法调用

  • Function.arguments[] 传递给函数的参数

  • Function.call( ) 将函数作为对象的方法调用

  • Function.caller 调用当前函数的函数

  • Function.length 已声明的参数的个数

  • Function.prototype 对象类的原型

  • Function.toString( ) 把函数转换成字符串

六:Math 数学对象

  • Math 对象是一个静态对象

  • Math.PI 圆周率。

  • Math.abs() 绝对值。

  • Math.ceil() 向上取整(整数加 1,小数去掉)。

  • Math.floor() 向下取整(直接去掉小数)。

  • Math.round() 四舍五入。

  • Math.pow(x,y) 求 x 的 y 次方。

  • Math.sqrt() 求平方根。

  • Number 数值对象

  • Number.MAX_VALUE 最大数值

  • Number.MIN_VALUE 最小数值

  • Number.NaN 特殊的非数字值

  • Number.NEGATIVE_INFINITY 负无穷大

  • Number.POSITIVE_INFINITY 正无穷大

  • Number.toExponential( ) 用指数计数法格式化数字

  • Number.toFixed( ) 采用定点计数法格式化数字

  • Number.toLocaleString( ) 把数字转换成本地格式的字符串

  • Number.toPrecision( ) 格式化数字的有效位

  • Number.toString( ) 将—个数字转换成字符串

  • Number.valueOf( ) 返回原始数值

七:Object 基础对象

  • Object 含有所有 JavaScript 对象的特性的超类

  • Object.constructor 对象的构造函数

  • Object.hasOwnProperty( ) 检查属性是否被继承

  • Object.isPrototypeOf( )一个对象是否是另一个对象的原型

  • Object.propertyIsEnumerable( ) 是否可以通过 for/in 循环看到属性

  • Object.toLocaleString( ) 返回对象的本地字符串表示

  • Object.toString( ) 定义一个对象的字符串表示

  • Object.valueOf( ) 指定对象的原始值

八:RegExp 正则表达式对象

  • RegExp.exec( ) 通用的匹配模式

  • RegExp.global 正则表达式是否全局匹配

  • RegExp.ignoreCase 正则表达式是否区分大小写

  • RegExp.lastIndex 下次匹配的起始位置

  • RegExp.source 正则表达式的文本

  • RegExp.test( ) 检测一个字符串是否匹配某个模式

  • RegExp.toString( ) 把正则表达式转换成字符串

九:String 字符串对象

  • Length 获取字符串的长度。如:var len = strObj.length

  • toLowerCase() 将字符串中的字母转成全小写。如:strObj.toLowerCase()

  • toUpperCase() 将字符串中的字母转成全大写。如:strObj.toUpperCase()

  • charAt(index) 返回指定下标位置的一个字符。如果没有找到,则返回空字符串。

  • substr() 在原始字符串,返回一个子字符串

  • substring() 在原始字符串,返回一个子字符串。

  • split() 将一个字符串转成数组。

  • charCodeAt( ) 返回字符串中的第 n 个字符的代码

  • concat( ) 连接字符串

  • fromCharCode( ) 从字符编码创建—个字符串

  • indexOf( )返回一个子字符串在原始字符串中的索引值(查找顺序从左往右查找)。如果没有找到,则返回-1。

  • lastIndexOf( )从后向前检索一个字符串

  • localeCompare( ) 用本地特定的顺序来比较两个字符串

  • match( ) 找到一个或多个正则表达式的匹配

5,事件包含哪些阶段

答:js事件的三个阶段分别为:捕获、目标、冒泡

  1. 捕获:事件由页面元素接收,逐级向下,到具体的元素

  2. 目标:具体的元素本身

  3. 冒泡:跟捕获相反,具体元素本身,逐级向上,到页面元素

6,什么是事件委托?事件委托的原理是什么?他有那些应用场景?

答:通俗的讲,事件就是onclick,onmouseover,onmouseout,等就是事件,委托呢,就是让别人来做,这个事件本来是加在某些元素上的,然而你却加到别人身上来做,完成这个事件。

也就是:利用冒泡的原理,把事件加到父级上,触发执行效果

原理:利用事件冒泡,只指定一个事件处理程序来管理某一类型的所有事件。

作用:减少DOM操作,节省内存空间,提高性能。

知识点链接:https://www.lagou.com/lgeduarticle/78217.html

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

答:js冒泡和捕获是事件的两种行为,使用event.stopPropagation()起到阻止捕获和冒泡阶段中当前事件的进一步传播。使用event.preventDefault()可以取消默认事件

9,Jq注册事件有几种方式?他们的区别是什么?举一个事件委托的例子?

知识点链接:https://blog.csdn.net/shijiandehaizi/article/details/8193774?utm_medium=distribute.pc_relevant.none-task-blog-baidujs-6

10,浏览器存储的方式有哪些,区别

  1. Cookie 在浏览器请求中 每次都会附加请求头发送给服务器;

  2. localStorage 保存数据会一直保存,没有过期时间;

  3. sessionStorage 仅当前页面有效,一旦关闭就会被释放;

知识点链接:https://www.cnblogs.com/lilistyle/p/13032381.html

12,前端异步加载有哪些

知识点链接:https://blog.csdn.net/l522703297/article/details/50754695?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase

13,http状态码

知识点链接:https://blog.csdn.net/wzx19840423/article/details/79073087

14,js数据类型

15,vue传值

16,谈谈vue生命周期

17,mpvue和vue

18,vue传播方式

19,混合app和js

20,响应式是什么,原理和技术

21,浏览器请求方式,请求具体

相关文章

网友评论

      本文标题:2020-06-05-广州某尊软件

      本文链接:https://www.haomeiwen.com/subject/rpyctktx.html