HTML

JavaScript面试必考系列之DOM篇

前言:尽管现在有很多优秀的框架,大大简化了我们的DOM操作,但是我们仍然要学好DOM知识来写原生JS,从根本上去理解,才更能在解决问题时举重若轻。 1.什么是DOM D(document)O(object)M(model) 文档对象模型。 DOM(文档对象模型)是HTML和XML文档的编程接口。它提供了对文档的结构化的表述,并定义一种方式可以使从程序中对该结构进行访问,从而改变文档的结构、样式和内容。DOM将文档解析为一个由节点和对象(包含属性和方法的对象)组成的结构集合。 上述说法是MDN的解释,太官方,我们来换种说法来解释。 DOM就是一种想象的树形结构,它的作用是将网页转为一个 JavaScript 对象,从而可以用脚本进行各种操作(

  • EvanBell
    EvanBell
15 min read
JavaScript

使用ES6实现一个简单的jQuery API

jQuery的基本设计思想和主要用法,就是"选择某个网页元素,然后对其进行某种操作"。 使用jQuery的第一步,往往就是将一个选择表达式,放进构造函数jQuery()(简写为$),然后得到被选中的元素。 接下来通过下面这些最常见的jQuery操作,利用ES6来实现一个jQuery的API: var $div = $('div') $div.addClass('red') // 可将所有 div 的 class 添加一个 red $div.setText('hi') // 可将所有 div 的 textContent 变为

  • EvanBell
    EvanBell
2 min read
JavaScript

JavaScript面试必考系列之函数篇(待补充)

1. 函数的五种声明方式 以下是声明函数的五种方式,有常见的和不常见的,有ES3/5和ES6多种方式,同时还有几道很坑爹的面试题。 第一种具名函数: function fn (input1,input2) { return undefined; } 第二种匿名函数: var fn = function (input1,input2) { return undefined; } 第三种是面试中常考的,且很少人知道的写法,即具名和匿名函数的结合体: // 虽然有fn2,但是不能直接调用和控制台输出fn2,只能通过fn1来进行访问函数体 var fn1 = function fn2(input1,

  • EvanBell
    EvanBell
2 min read
JavaScript

JavaScript数据类型转换

JavaScript是一门动态类型的语言,也就是说类型可以在任何时候进行转换,而转换方式可以分为强制和自动转换,或者叫做显式和隐式的转换。 1. 强制类型转换 强制转换主要指使用Number()、String()和Boolean()三个函数,手动将各种类型的值,分别转换成数字、字符串或者布尔值。 (1)数值型 使用Number()函数,可以将任意类型的值转化成数值,原始类型值的转换规则: 数值:转换后还是原来的值 字符串:如果可以被解析为数值,则转换为相应的数值 字符串:如果不可以被解析为数值,返回 NaN 空字符串转为0 布尔值:true 转成 1,

  • EvanBell
    EvanBell
4 min read
JavaScript

JavaScript数据类型重点简记

在JavaScript中,可以将数据类型概括为这七种类型: 数值(number):整数和小数(比如1和3.14) 字符串(string):文本(比如Hello World)。 布尔值(boolean):表示真伪的两个特殊值,即true(真)和false(假) undefined:表示“未定义”或不存在,即由于目前没有定义,所以此处暂时没有任何值 null:表示空值,即此处的值为空。 对象(object):各种值组成的集合,Function、Array都属于对象。

  • EvanBell
    EvanBell
4 min read