前端—每天5道面试题(3)
每天背5道前端面试题,希望我可以在远方的终点见到你
1、JavaScript是一门什么样的语言,它有哪些特点?
- javaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML网页上使用,用来给HTML网页增加动态功能。JavaScript兼容于ECMA标准,因此也称为ECMAScript。
基本特点:
- 是一种解释性脚本语言(代码不进行预编译)。
- 主要用来向HTML(标准通用标记语言下的一个应用)页面添加交互行为。
- 可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。
- 跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)。
2、JavaScript的数据类型都有什么?
- 基本数据类型:String,boolean,Number,Undefined, Null
- 引用数据类型:Object(Array,Date,RegExp,Function)
那么问题来了,如何判断某变量是否为数组数据类型? - 方法一:判断其是否具有“数组性质”,如slice()方法。可自己给该变量定义slice方法,故有时会失效
方法二:obj instanceof Array 在某些IE版本中不正确
- 方法三:方法一和方法二皆有漏洞,在ECMA Script5中定义了新方法Array.isArray(), 保证其兼容性,最好的方法如下:
3、已知ID的input输入框,希望获取这个输入框的输入值,怎么做?(不使用第三方框架)
4、看代码给答案(考察引用数据类型细节)。
答案:2(考察引用数据类型细节)
5、将字符串"<tr><td>{$id}</td><td>{$name}</td></tr>”中的{$id}替换成10,{$name}替换成Tony
(使用正则表达式)
"<tr><td>{$id}</td><td>{$id}_{$name}</td></tr>".replace(/{\$id}/g, '10').replace(/{\$name}/g, 'Tony');