前端面试问题

1、创建的css中的块级元素和块内元素

块内元素(内联元素)
* a - 锚点 * br - 换行 * em - 强调 * i - 斜体
* img - 图片 * input - 输入框 * label - 表格标签 * select - 项目选择
* span - 常用内联容器,定义文本内区块 * strike - 中划线
* strong - 粗体强调(比b更有语义) * textarea - 多行文本输入框
块级元素
* div - 常用块级容易,也是css layout的主要标签
* fieldset - form控制组 * form - 交互表单 * h1 - h6 * hr - 水平分隔线
* ol - 排序表单 * p - 段落 * table - 表格 * ul - 非排序列表

2、js的特点

1、解释型的脚本语言
2、弱类型
3、面向对象

3、js中的数据类型

基本类型:字符串string、数字number、布尔boolean、Null、Undefined
引用类型:数组 对象

4、js中每个对象都内置的方法

toLocalString、toString、前一种会自动根据地区输出当地的对应的语言的时间或者其他
valueOf
join(‘*’)
这个方法调用的意思是将对象中的元素用 **连起来,返回的是一个字符串
操作最后一个元素 push()和pop()
操作第一个元素 shift() 和unshift()
排序 reverse() sort() sort可以传递一个函数来规定比较的方法
slice ()和contact() 但是这两个方法都没有改变原来对象的大小
splice()的三中功能 插入 删除 替换

5、function自身

1、length属性
在函数体内arguments对象的length表示传入函数的实参个数
2、prototype属性
3、call和apply方法
可以使用者两个函数实现函数的冒充

 function sum(num){
        if(num==1){
            return 1
        }
        return num*sum.call(this,[num-1]);
    }

    document.addEventListener('click',function(){
        console.log(sum(4));
    },false);

4、toString方法
5、自己本身的构造函数

6、typeof和instanceof两者之间的区别

typeof用来检测是哪种基本类型
instanceof用来检测是什么样的引用类型

7、js中的内置对象的属性和方法

Global 对象
encodeURI decodeURI 不会对特殊字符做处理
encodeURIComponent decodeURIComponent 会对特殊字符做处理
Math对象
min max ceil floor round random

8、js中创建许多对象的模式

1、工厂模式 主中不需要再new
2、构造函数 主中需要new
3、原型的方法
一般来说采用的是构造+原型

9、闭包

闭包:可访问一个函数作用域里变量的函数 ,
闭包可以使变量驻留在内存中

在闭包中使用this对象会导致一些问题,this对象是在运行时基于函数的环境绑定的,如果this在全局范围内就是window,如果在对象内部就指向这个对象,而闭包却在运行时指向的是window的,因为闭包并不属于这个对象的属性和方法。闭包中的是一个匿名函数

10、css中的伪类

前端面试问题_第1张图片

11、html5新增加的表单特性

1、表单结构更自由

<form id='myform></form> <input form='myform'>    //这个input也是属于上面的表单的

2、多样的输入方式

    <!--必须输入的是邮箱的地址,否则浏览器不允许提交-->
    <input type="email">
    <!-- 输入的格式必须是url地址-->
    <input type="url">
    <!--日期类型 type还可以为time month week datetime -->
    <input type="date">
    <!--数据类型-->
    <input type="number" max=10 min=0 step=1 value=5>
    <!--range滑块类型-->
    <input type="range" max=10 min=0 step=1 value=5>

3、表单新增属性
placeholder属性 点击以下这些字会自动消除
plcaeholder文本风格的定义:

required属性 必填选项
pattern属性
autofocus属性 自动获得焦点 true
novalidate属性 提交时不需要进行验证
multiple 属性 规定输入域中可以选择多个

12、window.onload的缺点

浏览器加载网页的顺序
首先了解一下浏览器加载的顺序:
1.HTML解析完毕;
2.外部脚本和样式加载完毕;
3.脚本在文档内解析并执行;
4.HTMLDOM完全构造起来;
5.图片和外部内容加载;
6.网页完成加载。
而我们所使用的window.onload在再第6步才可以执行的,事实上由于网络带宽或者网络延迟的问题,尤其是第5步会特别耗时。我们需要在4步也就是在DOM树 建立好之后就可以执行js脚本。
所以在李彦辉的js的代码中的19 demo.js 封装了各个浏览器的js代码在图片加载之前执行的函数
使用jquery来实现
前端面试问题_第2张图片
所以平时使用的其实就是$(documnet).ready()的简写

13、jquery对象和js原声对象的来回互换

1、将jquery对象转化为原生的js对象
jQuery(‘.box’).get(0).innerHTML //使用的是get(0)这个jquery这个函数
(.box>p)[0].innerHTML2jsjquery使 ()来包裹

14、解决多苦冲突的问题

1、将会冲突的库放在jquery库的后面,那么 var =jQuery; 的都换成 $$
2、将会冲突的库放在jquery库的前面,那么$权就会交给jquery库
解决的办法:

jQuery(function(){
    jQuery.noConflict();    //$符所有权剔除
    var $$=jQuery;   //后边用到$的,都换成$$
    $$('.box').css('background','pink');
});

这样在后边使用 使

你可能感兴趣的:(前端面试问题)