这里分享一些js理论题和答案

  1. 这里先分享十道题
     
    什么是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 的浏览器就可以正确执行。

  1.  js由那三部分组成?

Java Script的三个主要组成部分是:ECMAScript(核心),DOM(文档对象模型),BOM(浏览器对象模型)。

  1.  为什么最好把 js 的 script 标签恰好放在 body 结束标签之前?

脚本在下载和执行期间会阻止 HTML 解析。把<script>标签放在底部,保证 HTML 首先完成解析,将页面尽早呈现给用户。

  1.  什么是语句?什么是表达式?怎么区分?
  1. 表达式:产生一个值
  2. 语句:执行一个操作

表达式不会对程序执行结果产生影响,而语句是程序的基本单位,对程序结果产生影响。

  1.  说明全局变量和局部变量的作用范围和生命周期

全局变量:范围是整个HTML页面,生命周期整个程序

局部变量:范围是这个变量的代码块,生命周期是函数创建时执行,结束时销毁。

  1.  数据类型有几种?一共有几种?判断数据类型的方法是什么?有 基本数据类型 和 引用数据类型基本数据类型:undefined(未定义)

null(空值)  

string(字符串)

number(数字)boolean(布尔值)

引用数据类型:

object  对象

array  数组function  函数使用  type of  判断数据类型判断数据类型的方法:object.prototype.tostring.call()

  1.  js中的命名规则
    1. 变量  命名方法:小驼峰式命名法。  命名规范:前缀应当是名词。
    2. 常量  命名方法:名称全部大写。  命名规范:使用大写字母和下划线来组合命名,下划线用以分割单词。
    3. 函数  命名方法:小驼峰式命名法。  命名规范:前缀应当为动词。4. 构造函数   命名方法:大驼峰式。  命名规范:前缀为名称。
    5. 类的成员  ① 公共属性和方法:小驼峰。  ② 私有属性和方法:前缀为_(下划线),后面小驼峰。
  2.  引用数据类型和基础数据类型的区别?
    一、存储上的区别

1.基本数据类型是存放在栈中的简单数据段。

2.引用数据类型是存放在堆内存中的对象,在栈内存中存放的是堆内存中具体内容的引用地址,通过这个地址可以快速查找到对象。
二、比较上的区别1.基本数据类型的比较是值的比较为(true)2.引用类型的比较是引用的比较为(false)

因为引用类型比较的是地址,也就是比较两个对象保存在栈区的指向堆内存的地址是否相同,虽然看起来一样,但是他们指向堆内存的地址是不一样的,所以两个对象不相等。
三、赋值上的区别

1.基本数据类型的赋值是简单赋值,如果一个变量向另一个变量赋值基本类型的值,会在变量对象上创建一个新值,然后把这个值复制到为新变量分配的位置上。

2.引用类型的赋值是对象引用

  1.  javascript 的 typeof 返回哪些数据类型?
    (写英文)typeof 共返回6种数据格式:
    1、object 
    2、undefined
     3、string
     4、number
     5、boolean 
    6、function  特别注意Array和Null返回的都是Object
  2.  如何判断 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));

  1.   null和undefined的区别是什么?
    null  表示为空,没有值undefined  表示为未定义,应该有值,但是没有赋值null是一个表示"无"的对象,转为数值时为0undefined是一个表示"无"的原始值,转为数值时为NaN
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值