首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js基础(一)

1.javascript有哪些类型?typeof可以返回哪些数据类型?

答:javascript包含基础类型和引用类型。基础类型有:Number、String、Boolean、Null、Undefined、Symbol(该类型位 ES2015 中新增类型)引用类型有: Object(对象类型,包括)。

typeof返回的数据类型有:number”、“string”、“boolean”、“object”、"symbol"、“function”和“undefined”

2.typeof和instanceof的区别

答:typeof和instanceof都可以用来判断变量,它们的用法有很大区别:typeof会返回一个变量的基本类型,只有以下几种:number,boolean,string,undefined,等

如果我们想要判断一个变量是否存在,可以使用typeof,if(typeof a != 'undefined'){

//变量存在

}

instanceof返回的是一个布尔值,需要注意的是,instanceof只能用来判断对象和函数,

不能用来判断字符串和数字等。

3.BOM 对象有哪些,列举 window 对象

答:

window 对象,是 JS 的最顶层对象,其他的 BOM 对象都是 window 对象的属性;

document 对象,文档对象;

location 对象,浏览器当前URL信息;

navigator 对象,浏览器本身信息;

screen 对象,客户端屏幕信息;

history 对象,浏览器访问历史信息;

4.请简述 AJAX 及基本步骤?

答: 简述 AJAX:AJAX即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

AJAX 基本步骤:1 初始化ajax对象 2连接地址准备数据3 发送请求 4.接收数据(正在接收,尚未完成) 5.接收数据完成。

5.同步和异步的区别?

答: 首先同步异步于阻塞非阻塞并没有关系。同步异步主要是事情做完以后,如何进行处理、或者说关注的是一种消息通信机制。 同步的情况下,是由处理消息者自己去等待消息是否被触发; 而异步的情况下是由触发机制来通知处理消息者;

举例: 比如在上课时,你问老师一个问题,这个问题可能需要花费一点时间去思考,这个时候老师可能: 思考,思考……,好了,有答案了; 这个问题需要一点时间,你先做点别的,等我想好了,去找你。

第一种就是同步,第二种就是异步。所以同步异步可以说是对被请求方来说的,被请求者使用什么方式来告知处理结果。 阻塞非阻塞,主要是对于请求者而言的。 阻塞:发出请求等待结果返回,然后再处理后续的事情; 非阻塞:发出请求不等待结果返回,可以接着做后续的事情;

举例,还是上一个例子: 老师在使用同步思考的时候,你可以静静的等待老师给出答案,也可以边做自己的事情边等待老师的回答,当然这时候你需要时刻去关注老师是否已经想好了,在程序中需要进行轮询了。乀(ˉεˉ乀) 老师使用异步的方式,这个时候老师告诉你可以先去做别的,好了就通知你,那么你可以去做点别的,然后监听事件就行,当然你也可以很轴,我就不做别的!我要一直等着老师“想好了”的事件发生。 所以同步可以是阻塞的也可以是非阻塞的,异步也是如此。

6.GET和POST的区别,何时使用POST?

答:GET:一般用于查询数据,使用URL传递参数,由于浏览器对地址栏长度有限制,所以对使用get方式所发送信息的数量有限制,同时浏览器会记录(历史记录,缓存)中会保留请求地址的信息,包括地址后面的数据。get 只能发送普通格式(URL 编码格式)的数据。

POST:一般用于向服务器发送数据,对所发送的数据的大小理论上是没有限制,浏览器会缓存记录地址,但是不会记录 post 提交的数据。post 可以发送纯文本、URL编码格式、二进制格式的字符串,形式多样。

在以下情况中,请使用 POST 请求: 以提交为目的的请求(类似语义化,get 表示请求,post 表示提交); 发送私密类数据(用户名、密码)(因为浏览器缓存记录特性); 向服务器发送大量数据(数据大小限制区别); 上传文件图片时(数据类型区别);

7.new 操作符具体干了什么呢?

答:当使用 new 操作符调用构造函数,函数实际会经历如下步骤:

Person

8.null 和 undefined 的区别?

答:null表示"没有对象",即该处不应该有值。典型用法是:(1) 作为函数的参数,表示该函数的参数不是对象。(2) 作为对象原型链的终点。

undefined表示"缺少值",就是此处应该有一个值,但是还没有定义。典型用法是:

(1)变量被声明了,但没有赋值时,就等于undefined。

(2) 调用函数时,应该提供的参数没有提供,该参数等于undefined。

(3)对象没有赋值的属性,该属性的值为undefined。

(4)函数没有返回值时,默认返回undefined。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180722G12MJE00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券