JS初级面试(一)

web前端开发是一项很特殊的工作,涵盖的知识面非常广,它既有具体的技术,又有抽象的理念。

1.关于javascript的说法:

javascript是基于对象的、事件驱动的脚本程序设计语言。所谓对象是指任何事物都可以封装成类,而一个类中具体的某个事物就是这个类的对象;所谓事件是指为这些事件定义一些动作,当处理这些事件后就执行相关的代码,进行一些操作。

2.如何截取字符串www.zhaopeirong.cn中的zhaopeirong?

采用substr方法。
定义和用法:substr方法用于返回一个从指定位置开始的指定长度的子字符串。
语法:stringObject.substr(start[,length])
参数描述:start必需。它是所需的子字符串的起始位置。字符串中的第一个字符的索引为0。
length可选。指在返回的子字符串中应该包括的字符个数。
示例代码如下:

var str="www.zhaopeirong.cn";
var result=str.substr(4,11);

3.编写一个方法,求一个字符串的字符长度。

示例代码如下:

function getLength(str){
   return  str.length;
}
var result=getLength("www.zhaopeirong.cn");

4.给出一个字符串str="www.zhaopeirong.cn",要求找出里面的字符串zhaopeirong,使用JavaScript实现。

采用indexOf()方法。
返回字符indexOf(string)中字符string在父串首次出现的位置,从0开始!没有返回-1;方便判断和截取字符串。示例代码如下:

var str="www.zhaopeirong.cn";
var serach="zhaopeirong";
var start=str.indexOf(search);
var result=str.substring(start,start+search.length);

5.JavaScript的typeof都返回哪些数据类型?

undefined、boolean、string、number、object、function。

6.“5”+3的结果是多少?为什么?

结果是53 。
这时的5不是一个数字,而是一个字符串,“+”起到了连接作用,不是加,所以结果是53 。

7.请自定义一个函数,实现字符串反转。

JavaScript实现字符串反转主要是把字符串从末尾开始的每一个元素截取后,再重新组成一个新的字符串。示例代码如下:

function revStr(str){
  var tmpStr="";
  for (var l=str.length-1;l>=0;l--){
    tmpStr+=str.charAt(l);
   }
   return tmpStr;
}
var str="abcdeg";
console.log( revStr(str));

8.字符串操作主要有哪些?

(1)求字符串长度。
(2)字符串赋值。
(3)连接字符串操作。
(4)求子串。
(5)字符串比较。
(6)子串定位。
(7)字符串插入。
(8)字符串删除。
(9)字符串替换。

9.JavaScript的两种变量范围有什么不同?

全局变量无论在函数内部还是外部都可以访问,而局部变量只能在函数内部访问。
全局变量:当前页面内有效。
局部变量:方法内有效。

10.JavaScript中声明变量有var和没有var的区别。

JavaScript中变量声明的作用域是以函数为单位的,在函数内部,有var和
没有var声明的变量是不一样的。有var声明的是局部变量,没有var声明的是全局变量。在JavaScript的函数作用域内,声明的变量或内部函数在函数体内都是可见的。这意味着,函数在定义之前可能已经可用。函数定义有两种方式,一种是函数定义表达式,一种是函数声明语句。函数声明语句“被提前”到外部脚本或外部函数作用域的顶部。所以,以这种方式声明的函数,可以被它定义之前出现的代码所调用。而函数定义表达式中,变量的声明被提前了,但是给变量的赋值时不会提前的。所以,以表达式方式定义的函数在函数定义之前无法调用。

在全局作用域内声明变量时,有var和没有var是有区别的。使用var语句重复声明语句是合法且无害的。如果重复声明且带有赋值,那么就和一般的赋值语句没差别。如果尝试读取没有声明过的变量,JavaScript会报错。

11.有一个字符串abcd-ef-ghi,请用JavaScript将它处理成abcd&ef&ghi。

代码如下:

var str= "abcd-ef-ghi";
var arr1=str.split('-');
var result=arr1.reverse().join("join");

12.“undefined”和“undeclared”变量分别指什么?

根本区别在于,undefined是JavaScript语言类型,而undeclared确是一种JavaScript语法错误。

在JavaScript中有两个表示“空”的值:undefined和null,其中比较有用的是undefined。undefined是一个值为undefined的类型。JavaScript语言也定义了一个全局变量,它的值是undefined,这个变量也被称为undefined。但是这个变量不是一个常量,也不是一个关键字。这意味着它的值可以轻易被覆盖。为了避免可能对undefined值的改变,一个常用的技巧是使用一个传递到匿名包装器的额外参数。在调用时,这个参数不会获取任何值。

而undeclared则是一种语法错误,其实访问undeclared的变量并非会中断浏览器执行。在浏览器运行上下文中,undeclared的变量简单可以认为没有var a这样定义变量。JavaScript引擎执行的时候,由于无法找到其对应的上下文(scope),所以会简单地认为该变量是全局的变量,就是会把该变量定义到window中去。

学习是一件很快乐的事,这种快乐来自于你的思考。完成一项学习任务固然重要,但更重要的是在完成的过程中学到了什么,掌握了什么,遇到一些什么问题,为什么会出现这种问题,根源是什么,都有哪些解决方案,什么样的情况适合这个方案。只有在不断的思考,你的能力才会有所提升!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,922评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,591评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,546评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,467评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,553评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,580评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,588评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,334评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,780评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,092评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,270评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,925评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,573评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,194评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,437评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,154评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,127评论 2 352

推荐阅读更多精彩内容

  • 第一章: JS简介 从当初简单的语言,变成了现在能够处理复杂计算和交互,拥有闭包、匿名函数, 甚至元编程等...
    LaBaby_阅读 1,664评论 0 6
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,231评论 0 4
  • 第1章 JavaScript 简介 JavaScript 具备与浏览器窗口及其内容等几乎所有方面交互的能力。 欧洲...
    力气强阅读 1,124评论 0 0
  • 当我颤抖着手指抢下第一单时,使劲按捺住慌乱的心情,立马启动电动车风驰电骋地赶往将要取货的地方。 当我把电动车停在美...
    李茗阅读 338评论 7 13
  • 大乔治阅读 122评论 0 0