JS的类和一些常见的面试题

本文深入讲解JavaScript的基本概念,包括数据类型、函数、对象类别及其作用,同时涵盖了数组与字符串的常用方法,帮助读者全面掌握JS的基础知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

类中的静态方法的this指向类本身
实例化类(new)后类的方法中的this指向实例对象

方法里的this指向newDragBox()后的实例对象
实例对象是由el属性,dragStart(),dragMove(x,y),dragEnd()构成
箭头函数本身没有this,所以指向外部this,在类的方法中运用箭头函数,箭头函数内部的this指向类的实例对象

class 类名 {
  //属性
     constructor() {
         //如果有参数必须写,如果没有可以不写
      }
  //方法
  set(){}
}

一、js的数据类型

值类型(基本类型):字符串(String)、数值(Number)、布尔(Boolean)、空(Null)、未定义(Undefined)、Symbol,大数值类型(BigInt)

引用数据类型:对象(Object)、数组(Array)、函数(Function)、日期(Date)。

注:Symbol 是 ES6 引入了一种新的原始数据类型,表示独一无二的值(标识符)。

二、什么是函数

JS函数的概念

函数就是把特定功能的代码抽取出来,使之成为程序中的一个独立实体。

2函数的作用

正如函数的概念, 我们可以根据需要, 将特定的功能用函数来包裹(封装)

3使用函数的好处

1, 函数可以在同一个程序或其他程序中多次重复使用(通过函数名调用) 2, 使程序变得更简短而清晰 , 提高可读性 3, 有利于程序维护

三、本地对象、内置对象和宿主对象

1.内置对象

js中的内部对象包括Array、Boolean、Date、Function、Global、Math、Number、Object、>RegExp、String以及各种错误类对象,包括Error、EvalError、RangeError、ReferenceError、>SyntaxError和TypeError。

其中Global和Math这两个对象又被称为“内置对象”,这两个对象在脚本程序初始化时被创建,不必实例化这两个对象。

2.宿主对象

宿主对象就是执行JS脚本的环境提供的对象。对于嵌入到网页中的JS来说,其宿主对象就是浏览器 提供的对象,所以又称为浏览器对象,如IE、Firefox等浏览器提供的对象。不同的浏览器提供的 宿主对象可能不同,即使提供的对象相同,其实现方式也大相径庭!这会带来浏览器兼容问题, 增加开发难度。浏览器对象有很多,如Window和Document等等。

3.自定义对象

顾名思义,就是开发人员自己定义的对象。JS允许使用自定义对象,使JS应用及功能得到扩充

四、数组(Array)

1.基本方法


2.高阶函数(1)


注意:forEach()和map()的区别

1arr.forEach()是和for循环一样,是代替for。arr.map()是修改数组其中的数据,并返回新的数据。
2arr.forEach() 没有return  arr.map() 有return

3.高阶函数(2)

filter(callback) 过滤数组,返回一个满足要求的数组

every(callback) 依据判断条件,数组的元素是否全满足,若满足则返回ture

some() 依据判断条件,数组的元素是否有一个满足,若有一个满足则返回ture

reduce(callback, initialValue) 迭代数组的所有项,累加器,数组中的每个值(从左到右)合并,最终计算为一个值


lastIndexOf()   和arr.indexOf()的功能一样,不同的是从后往前查找 Array.from() 将伪数组变成数组,就是只要有length的就可以转成数组。 ---es6 Array.of() 将一组值转换成数组,类似于声明数组    ---es6 find(callback) 找到第一个符合条件的数组成员 findIndex(callback) 找到第一个符合条件的数组成员的索引值 fill(target, start, end) 使用给定的值,填充一个数组 includes() 判断数中是否包含给定的值 keys() 遍历数组的键名 values() 遍历数组键值 entries() 遍历数组的键名和键值

五、字符串(String)

字符串的恒定性

字符串的方法修改字符,不会改变原来的字符串,叫做恒定性

字符串的方法

charAt(): 返回指定下标位置的字符。如果index不在0-str.length(不包含str.length)之间,返回空字符串。

charCodeAt(): 返回指定下标位置的字符的unicode编码,这个返回值是 0 - 65535 之间的整数。

indexOf(): 返回某个指定的子字符串在字符串中第一次出现的位置

toLowerCase()把字符串转为小写,返回新的字符串。

toUpperCase(): 把字符串转为大写,返回新的字符串。

lastIndexOf(): 返回某个指定的子字符串在字符串中最后出现的位置。

slice(): 返回字符串中提取的子字符串。

substring(): 提取字符串中介于两个指定下标之间的字符。

split(): 把字符串分割成字符串数组。

substr(): 返回从指定下标开始指定长度的的子字符串

replace(): 在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

match(): 返回所有查找的关键字内容的数组。

search

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值