JavaScript核心

1.JavaScript是什么

JavaScript由三部分组成:DOM,BOM,ECMScript

对应一个网页来说 组成其的基础 就是HTML,Css,JavaScript  HTML作为网页的骨架,Css

作为网页的样式即色彩,JavaScript作为网页的动作即行为/交互

2.数据类型:

基本数据类型(值类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)。

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

特殊的对象:正则(RegExp)和日期(Date)。

特殊类型:underfined 未定义、Null  空对象、Infinate 无穷、NAN 非数字

基本数据类型的值直接在栈内存中存储,值与值之间独立存在,修改一个变量不会影响到其他变量。

对象是保存在堆内存中的,每创建一个新对象,就会在堆内存中开辟出一个新空间,而变量保存的是对象的内存地址(对象的引用),如果两个变量保存的是同一个对象引用,当其中一个通过变量修改属性时,另一个也会受到影响。

当比较两个基本数据类型的值时,就是比较值。

而比较两个引用数据类型时,它是比较的对象的内存地址,如果两个对象是一样,但是地址不同,也会返回false.

3.面试题

1.JavaScript里的堆栈

堆和栈都是用来存储变量数据的,在JavaScript中变量分为两种,一种是基本类型(String,Number、Boolean、null、undefined、symbol(ES6)),一种是引用类型(Object、Array、Function)

1、基本类型:基本类型在内存中分别占有固定大小的空间,他们的值保存在栈中,我们通过按值来访问的。

2、引用类型:引用类型指的是那些保存在堆内存中的对象,值的大小不固定。栈内存中存放地址,地址指向堆内存中的对象,是按引用访问的

  >栈内存中存放的只是引用类型的访问地址,在堆内存中为引用类型的值分配空间。由于这种值的大小不固定,因此不能把它们保存到栈内存中。但内存地址大小的固定的,因此可以将内存地址保  存在栈内存中。
  ><这样,当查询引用类型的变量时, 先从栈中读取内存地址, 然后再通过地址找到堆中的值。对于这种,我们把它叫做按>引用访问

2.es6新特性

1、向对象添加属性;2、合并对象;3、删除对象的属性;4、动态删除属性;5、调整对象属性的位置;6、默认属性;7、重命名对象的属性;8、条件属性。

3.StringApi

str(表示String的实例对象)

str.toUpperCase() //都转大写

str.toLowerCase() //都转小写

 var char=str.charAt(i);//得到指定位置的字符: str[i]

var i=str.indexOf("关键词",fromi)查找一个固定的关键词出现的位置

var i=str.search(/正则表达式/);  使用正则表达式查找指定的一类关键词的位置

4.null和undefined有什么区别

(1)相同点

第一:Undefined和Null两种数据类型都只有一个字面值,分别是undefined和null.

第二:Undefined和Null类型在转换为Boolean类型的值时,都会转换为false.

第三:在需要将两者转换成对象的时候,都会抛出一个TypeError的异常。

(2)不同点

第一:null是JavaScript的关键字,而undefined是JavaScript的一个全局变量,也就是挂载在window对象上的一个变量,并不是关键字。

第二:在使用typeof运算符进行检测时,Undefined类型的值会返回undefined.而Null类型的值返回为object

5.== 与 ===

== 仅仅判断值是否相同  不判断类型

=== 不仅仅判断值是否相同 还有判断类型是否相同
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 计算机科学与技术 目 录 1.1 JavaScript内核系列 第1章 前言及概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 JavaScript内核系列 第2章 基本概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.3 JavaScript内核系列 第3章 对象与JSON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 1.4 JavaScript内核系列 第4章 函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 1.5 JavaScript内核系列 第5章 数组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 1.6 JavaScript内核系列 第6章 正则表达式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 1.7 JavaScript内核系列 第7章 闭包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 1.8 JavaScript内核系列 第8章 面向对象的JavaScript(上) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105 1.9 JavaScript内核系列 第8章 面向对象的JavaScript(下) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .118 1.10 JavaScript内核系列 第9章 函数式的Javascript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值