美文网首页
前端面试题

前端面试题

作者: xueNoble | 来源:发表于2017-08-20 23:30 被阅读0次

    1.数组去重      (去掉数组中重复的数字)

    var arr = [1, 2, 3, 4, 5, 5, 4, 6, 78, 1, 789, 8975, 78];

    var arr1=[];

    for(var i in arr){

              if(arr1.indexOf(arr[i])==-1){

              arr1.push(arr[i])

          }

    }

    document.write(arr1)

    2.判断一个单词是否为回文?

    所谓回文就是产生首尾回环的效果,叫做回文,也叫回环。比如 mnmnm abcba .

    这其实就是考察我们对reverse的应用啦!我们可以利用函数,将字符串转换成数组在用join把他转为字符串进行比较就可判断出是不是回文了。

    案例:      functionfun(str) {

    if(str==str.split('').reverse().join('')){

    alert("是回文")

    }else{

    alert("不是回文")

    }

    }

    fun("mnmnm")

    3.cellpadding与cellspacing有何区别?

    cellpadding:代表单元格边框到内容之间的距离(留白)

    cellspacing:cellspacing属性用来指定表格各单元格之间的空隙。此属性的参数值是数字,表示单元格间隙所占的像素点数。

    4.display与visibility有何异同?

    display可以有很多值,visibility只有两个常用值:visible、hidden。

    当display为none、visibility为hidden时都会隐藏元素。但display会隐藏掉元素空间,visibility会保留元素空间。

    5.操作数组

    push在数组末尾添加一个或多个新元素

    unshift在数组开头添加一个或多个新元素

    pop移除最后一个元素

    shift移除第一个元素

    Sort:排序

    reverse倒序

    join讲数组转为字符串

    slice()方法返回指定数组的一个片段或子数组,它的两个参数分别指定片段的开始和结束的位置。

    splice插入、删除、替换元素


    6.for循环

    for语句的语法格式:

    for(initialize;test;increment){

    }

    三个表达式之间用分号隔开,

    他们分别负责初始化操作、循环条件判断和计数器变量的更新

    7.Dom原生

    DOM文档对象模型

    firstChild:childNodes (孩子节点数组)列表中第一个节点。

    lastChild:childNodes (孩子节点数组)列表中的最后一个节点。

    parentNode:返回父节点

    previousSibling:返回当前节点之前的节点。

    nextSibling:返回当前节点的下一个节点。

    attributes:返回节点属性的对象集合

    childNodes:返回子节点对象集合,是数组对象,包含文本节点和元素节点

    children:返回子节点对象集合,是数组对象,只包含元素节点

    节点树中的节点彼此拥有层级关系

    在节点树中,顶端节点被称为根(root)

    每个节点都有父节点、除了根(它没有父节点)

    一个节点可拥有任意数量的子节点

    同胞是拥有相同父节点的节点

    1.查找元素

    getElementById()方法可返回对拥有指定ID的第一个对象的引用

    getElementsByName()方法可返回带有指定名称的对象的集合

    getElementsByTagName()方法可返回带有指定标签名的对象的集合

    getElementsByClassName()返回文档中所有指定类名的元素集合

    2创建标签方法

    document.createElement()//创建一个元素节点

    document.createTextNode()//创建一个文本节点

    parentNode.appendChild(newChild)//newChild被添加到孩子列表中的末端。

    innerHTML属性设置或返回标签的开始和结束标签之间的HTML

    getAttribute()方法返回指定属性名的属性值

    setAttribute()方法添加指定的属性,并为其赋指定的值。

    如果这个指定的属性已存在,则仅设置/更改值

    BOM浏览器对象模型

    8.事件监听

    addEventListener("click",alertId,false)

    添加事件监听,有三个参数,第一个参数是事件的名称,第二个参数是要执行的函数名,第三个参数是规定事件执行的顺序,第三个默认是false,代表事件冒泡,true代表事件捕获,可选

    9.用纯CSS创建一个三角形的原理是什么?

    把上、左、右三条边隐藏掉(颜色设为transparent)

    #demo {

    width: 0;

    height: 0;

    border-width: 20px;

    border-style: solid;

    border-color: transparent transparent red transparent;

    }

    �10.CSS有哪些继承属性

    (1) id选择器(# myid)

    (2) 类选择器(.myclassname)

    (3) 标签选择器(div, h1, p)

    (4) 相邻选择器(h1 + p)

    (5) 子选择器(ul > li)

    (6) 后代选择器(li a)

    (7) 通配符选择器(*)

    (8) 属性选择器(a[rel ="external"])

    (9) 伪类选择器(a:hover,li:nth-child)

    可继承:font-size font-family color, UL LI DL DD DT;

    不可继承:border padding margin width height ;

    11.CSS3有哪些新的特性

    新增各种CSS选择器

    圆角(border-radius:8px)

    多列布局(multi-column layout)

    阴影和反射(Shadow\Reflect)

    文字特效(text-shadow、)

    文字渲染(Text-decoration)

    线性渐变(gradient)

    旋转(transform)

    缩放,定位,倾斜,动画,多背景

    12.JavaScript原型,原型链?有什么特点?

    每个对象都会在其内部初始化一个属性,就是prototype(原型),当我们访问一个对象的属性时,

    如果这个对象内部不存在这个属性,那么他就会去prototype里找这个属性,这个prototype又会有自己的prototype,

    于是就这样一直找下去,也就是我们平时所说的原型链的概念。

    相关文章

      网友评论

          本文标题:前端面试题

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