Web应用开发实战-JavaScript

一、JavaScript 简介

        一、JavaScript语言的介绍:JavaScript是基于对象和原型的一种动态、弱类型的脚本语言

        二、JavaScript语言的组成:JavaScript是由核心语法(ECMAScript)、文档对象模型(DOM)、浏览器对象模型(BOM)组成的

  • 核心(ECMAScript):提供语言的语法和基本对象;

  • 文档对象模型(DOM):提供处理网页内容的方法和接口;

  • 浏览器对象模型(BOM):提供与浏览器进行交互的方法和接口。

         三、JavaScript语言的应用:实现页面表单验证以及页面交互特效,基于Node.js技术进行服务器端编程等

二、JavaScript的使用 

1、javaScript的位置

在 HTML 中,JavaScript 代码必须位于 <script> 与 </script> 标签之间。

<script>
document.getElementById("demo").innerHTML = "我的第一段 JavaScript";
</script>

2、js的三种写法

1.内部写法

 <script>

        alert('01-我是js内部写法')

    </script>

2. 外部写法

<script src=".js外部.js"></script>
3. 行内写法

<button οnclick="alert('03-行内写法')">按钮</button>

 

三、数据类型 

  一:原始类型(基本类型):值不可变(原始值)

1. Undefined类型:只有一个值undefined,表示未初始化或未声明的变量,因此我们应该对变量显示的初始化(不要是undefined)

2. Null类型:只有一个值null,表示一个空指针对象,因此我们应该将保存对象的变量初始化为null

3. Boolean类型:只有true和false两个值

4. Number类型:表示所有的数值类型,数值范围在(Number.MIN_VALUE~Number.MAX_VALUE)之间,超出范围会自动转化为[-+]Infinity(无穷),NaN是一个非数值

5. String类型:  表示一个字符串,其他类型可以使用toString方法转为字符串

6. Symbol类型:表示一个符号,符号类型是唯一的并且是不可修改的

 二:引用类型:值可变

 1. 概念:引用类型是一种数据结构,用于将数据和功能组织在一起

 2. 常见引用类型:对象(Object)、数组(Array)、函数(Function)、正则(RegExp)和日期(Date)

四、面试题

1.说说JavaScript中的堆栈?

两者都是存放临时数据的地方。
栈是先进后出的,就像一个桶,后进去的先出来,它下面本来有的东西要等其他出来之后才能出来。
堆是在程序运行时,而不是在程序编译时,申请某个大小的内存空间。即动态分配内存,对其访问和对一般内存的访问没有区别。对于堆,我们可以随心所欲的进行增加变量和删除变量,不用遵循次序。
栈区(stack) 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。 
堆区(heap) 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。 
堆(数据结构):堆可以被看成是一棵树,如:堆排序; 
栈(数据结构):一种先进后出的数据结构。

2.ES6有哪些新特性?

1.新增了块级作用域(let,const)

2.提供了定义类的语法糖(class)

3.新增了一种基本数据类型(Symbol)

4.新增了变量的解构赋值

5.函数参数允许设置默认值,引入了rest参数,新增了箭头函数。

6.数组新增了一些API,如isArray / from / of 方法;数组实例新增了 entries(),keys() 和 values() 等方法。

7.对象和数组新增了扩展运算符

8.ES6新增了模块化(import / export)

9.ES6新增了Set和Map数据结构。

10.ES6原生提供Proxy构造函数,用来生成Proxy实例

11.ES6新增了生成器(Generator)和遍历器(Iterator)

3.JS中的String常见方法有哪些

  • 1、charAt
  • 2、concat
  • 3、indexOf
  • 4、lastIndexOf
  • 5、match
  • 6、replace
  • 7、toLowerCase
  • 8、toUpperCase
  • 9、substring

4.null和undefined有什么区别? 

总的来说 null 和 undefined 都代表空,主要区别在于 undefined 表示尚未初始化的变量的值,而 null 表示该变量有意缺少对象指向。

  • undefined
    • 这个变量从根本上就没有定义
    • 隐藏式 空值
  • null
    • 这个值虽然定义了,但它并未指向任何内存中的对象
    • 声明式 空值 

5.==和===有什么区别?

两者都是判断等式两边是否相等,最大的区别就是==会进行类型的转换之后再判断两者是否相等,而===不会进行数据类型的转换,先判断两边的数据类型是否相等,如果数据类型相等的话才会进行接下来的判断,再进行等式两边值得判断,可以理解为只有等式两边是全等(数据类型相同,值相同)的时候结果才会是true,否则全为false。 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值