来自qq的javascript面试题

代码如下:

var info="腾讯拍拍网(www.paipai.com)是腾讯旗下知名电子商务网站。";
info +="拍拍网于2005年9月12日上线发布,";
info +="2006年3月13日宣布正式运营,";
info +="是目前国内第二大电子商务平台。";
info=info.split(",");
for(var i=0; i<info.length; i++)
{
alert(info[i]);
}

这题初看纯属折腾,因为后面要根据逗号分隔再alert每项,何不构造一个数组对象来存放文本内容,而要用个临时变量info才存放
如var info=["腾讯拍拍网(www.paipai.com)是腾讯旗下知名电子商务网站。","拍拍网于2005年9月12日上线发布,","2006年3月13日宣布正式运营,","是目前国内第二大电子商务平台。"] 。可是后来想如果是优化的话这个题目就出的没意义了。
仔细观察info这个变量,发现它每次都要自加字符串,如果字符串很大的又很多的话会非常影响性能的。

对于js中的string类型,属于基本类型,因此一般情况下他们是存放在栈上的。如果字符串很大,info会每次变成一个很长的字符串,会很慢

如果用引用类型数组来存放则好很多,如


代码如下:

var temp=[];
temp.push("腾讯拍拍网(www.paipai.com)是腾讯旗下知名电子商务网站。") ;
temp.push()....//temp只是一个指向堆上数组的指针
....

最后一招temp.join("")搞定。对处理大字符串连接问题都可以采取这种思路。

(0)

相关推荐

  • 用js实现上传图片前的预览(TX的面试题)

    以前不知道 file 控件也能使用 onchange,导致面试时失去良机. <script> function yulan() { var fileext=document.form1.UpFile.value.substring(document.form1.UpFile.value.lastIndexOf("."),document.form1.UpFile.value.length)         fileext=fileext.toLowerCase() if (

  • BAT及各大互联网公司2014前端笔试面试题--JavaScript篇

    而更多的题目是我一路以来收集的,也有往年的,答案不确保一定正确,如有错误或有更好的解法,还请斧正. 附上第二篇:BAT及各大互联网公司2014前端笔试面试题--Html,Css篇 前面几题是会很基础,越下越有深度. 初级Javascript: 1.JavaScript是一门什么样的语言,它有哪些特点? 没有标准答案. 2.JavaScript的数据类型都有什么? 基本数据类型:String,boolean,Number,Undefined, Null 引用数据类型:Object(Array,Da

  • 14 个折磨人的 JavaScript 面试题

    翻到了这篇解释Javascript quiz的文章quiz-legend,反正没事儿,就想搬过来供大家学习.理解.背诵.批判. 问题一 (function(){ return typeof arguments;//"object" })(); arguments是一个Array-like对象,对应的就是传入函数的参数列表.你可以在任何函数中直接使用该变量. typeof操作符只会返回string类型的结果.参照如下列表可知对应不同数据,typeof返回的值都是什么: 由此我们推断出,t

  • 一套比较完整的javascript面试题(部分答案)

    一.单选题 1.以下哪条语句会产生运行错误:(a) A.var obj = ();//语法错误 B.var obj = [];//创建数组 C.var obj = {};//创建对象 D.var obj = //; 原因:var obj = new Array ();是对的:JavaScript 中大括号表示创建对象.var obj = { id:1, name:"jacky" };alert(obj.name);上例表示创建一个具有属性 id (值为 1).属性 name(值为 ja

  • javascript实现上传图片前的预览(TX的面试题)

    以前不知道 file 控件也能使用 onchange,导致面试时失去良机. <script> function yulan() { var fileext=document.form1.UpFile.value.substring(document.form1.UpFile.value.lastIndexOf("."),document.form1.UpFile.value.length)         fileext=fileext.toLowerCase() if (

  • 人人网javascript面试题 可以提前实现下

    JavaScript面试题要求:以下题目必须从一至四题中,选出三道题,使用原生代码实现,不可使 用任何框架,第五题为选作题. 一. 在页面的固定区域内实现图片的展示 1. 每点击一次右箭头,图片区域向左滚动出一张图片,反之相同: 2. 当发现图片滚动到末尾时,响应的箭头变成不可点击状态: 3. 鼠标在图片区域内滑动滚轮,图片会随着鼠标滚轮的方向进行响应的滚动: 二. 用 js.html.css实现一个弹出提示控件: 1. 分别实现类似于系统的 alert.confirm.prompt对话框: 2

  • 从面试题学习Javascript 面向对象(创建对象)

    题目: 复制代码 代码如下: try{ var me = Man({ fullname: "小红" }); var she = new Man({ fullname: "小红" }); console.group(); console.info("我的名字是:" + me.attr("fullname") + "\n我的性别是:" + me.attr("gender")); consol

  • 你有必要知道的25个JavaScript面试题

    1.使用 typeof bar === "object" 判断 bar 是不是一个对象有神马潜在的弊端?如何避免这种弊端? 使用 typeof 的弊端是显而易见的(这种弊端同使用 instanceof): let obj = {}; let arr = []; console.log(typeof obj === 'object'); //true console.log(typeof arr === 'object'); //true console.log(typeof null

  • 网易JS面试题与Javascript词法作用域说明

    调用对象位于作用域链的前端,局部变量(在函数内部用var声明的变量).函数参数及Arguments对象都在函数内的作用域中--这意味着它们隐藏了作用域链更上层的任何同名的属性. 2010年9月14日,我去参加网易网页工程师招聘会,应聘JS工程师职位.有幸参加笔试,然后有幸栽在笔试,呵呵.废话少说,抓出音响极深的一题重新研究研究. 题目大概是:写出如下代码的输出结果并进行分析 复制代码 代码如下: var tt = 'aa'; function test(){ alert(tt); var tt

  • 5个JavaScript经典面试题

    1:Scope作用范围 复制代码 代码如下: (function() {     var a = b = 5;  })();  console.log(b); 什么会被打印在控制台上? 回答 上面的代码会打印 5. 这个问题的诀窍是,这里有两个变量声明,但 a 使用关键字var声明的.代表它是一个函数的局部变量.与此相反,b 变成了全局变量. 这个问题的另一个诀窍是,它没有使用严格模式 ('use strict';).如果启用了严格模式,代码就会引发ReferenceError的错误:B没有定义

随机推荐