- 这里先分享十道题
什么是js?js的特点是什么?
js: 是(shì)一(yì)种(zhǒnɡ)直(zhí)译(yì)式(shì)脚(jiǎo)本(běn)语(yǔ)言(yán),是(shì)一(yì)种(zhǒnɡ)动(dònɡ)态(tài)类(lèi)型(xínɡ)、弱(ruò)类(lèi)型(xínɡ)、基(jī)于(yú)原型的高级语言。特点:简单性;安全性;动态性;跨平台性;
简单性:它的变量类型是采用弱类型,并未使用严格的数据类型。
安全性:js 不允许直接访问本地的硬盘,而且不能将数据存放到服务器上,不允许对网络文档进 行修改和删除,只能通过浏览器实现信息浏览或动态交互,从而有效地防止数据的丢失。
动态性:js 可以直接对用户的输入做出响应而无需经过 Web 服务程序。它对用户的响应是采用以事件驱动的方式进行的。
跨平台性:js 仅依赖于浏览器本身,与操作系统无关,只要是能运行浏览器的计算机,并支持js 的浏览器就可以正确执行。
- js由那三部分组成?
Java Script的三个主要组成部分是:ECMAScript(核心),DOM(文档对象模型),BOM(浏览器对象模型)。
- 为什么最好把 js 的 script 标签恰好放在 body 结束标签之前?
脚本在下载和执行期间会阻止 HTML 解析。把<script>标签放在底部,保证 HTML 首先完成解析,将页面尽早呈现给用户。
- 什么是语句?什么是表达式?怎么区分?
- 表达式:产生一个值
- 语句:执行一个操作
表达式不会对程序执行结果产生影响,而语句是程序的基本单位,对程序结果产生影响。
- 说明全局变量和局部变量的作用范围和生命周期
全局变量:范围是整个HTML页面,生命周期整个程序
局部变量:范围是这个变量的代码块,生命周期是函数创建时执行,结束时销毁。
- 数据类型有几种?一共有几种?判断数据类型的方法是什么?有 基本数据类型 和 引用数据类型基本数据类型:undefined(未定义)
null(空值)
string(字符串)
number(数字)boolean(布尔值)
引用数据类型:
object 对象
array 数组function 函数使用 type of 判断数据类型判断数据类型的方法:object.prototype.tostring.call()
- js中的命名规则
1. 变量 命名方法:小驼峰式命名法。 命名规范:前缀应当是名词。
2. 常量 命名方法:名称全部大写。 命名规范:使用大写字母和下划线来组合命名,下划线用以分割单词。
3. 函数 命名方法:小驼峰式命名法。 命名规范:前缀应当为动词。4. 构造函数 命名方法:大驼峰式。 命名规范:前缀为名称。
5. 类的成员 ① 公共属性和方法:小驼峰。 ② 私有属性和方法:前缀为_(下划线),后面小驼峰。 - 引用数据类型和基础数据类型的区别?
一、存储上的区别
1.基本数据类型是存放在栈中的简单数据段。
2.引用数据类型是存放在堆内存中的对象,在栈内存中存放的是堆内存中具体内容的引用地址,通过这个地址可以快速查找到对象。
二、比较上的区别1.基本数据类型的比较是值的比较为(true)2.引用类型的比较是引用的比较为(false)
因为引用类型比较的是地址,也就是比较两个对象保存在栈区的指向堆内存的地址是否相同,虽然看起来一样,但是他们指向堆内存的地址是不一样的,所以两个对象不相等。
三、赋值上的区别
1.基本数据类型的赋值是简单赋值,如果一个变量向另一个变量赋值基本类型的值,会在变量对象上创建一个新值,然后把这个值复制到为新变量分配的位置上。
2.引用类型的赋值是对象引用
- javascript 的 typeof 返回哪些数据类型?
(写英文)typeof 共返回6种数据格式:
1、object
2、undefined
3、string
4、number
5、boolean
6、function 特别注意Array和Null返回的都是Object - 如何判断 NaN?1、NaN 不是一个数字且数据类型为 number,而且不等于自身 可直接采用内置方法 isNaNfunction isNaN(n) {if (n !== n) {return true;} else {return false;}}2、利用 NaN 是唯一个不等于任何自身的特点
var a=NaN;
a==a; //false3、object.is 方法console.log(Object.is("a", NaN));console.log(Object.is(1, NaN));console.log(Object.is(NaN, NaN));
- null和undefined的区别是什么?
null 表示为空,没有值undefined 表示为未定义,应该有值,但是没有赋值null是一个表示"无"的对象,转为数值时为0undefined是一个表示"无"的原始值,转为数值时为NaN