js面试题-2

// 1、截取字符串
    var aa = "abcd";
    console.log(aa.substr(2,2));
    var str = "qweda";
    console.log(str.charAt());
    //  q
    console.log(str.charAt(0));
    // q
    console.log(str.charAt(3));
    // d

    // 2、判断一个字符串中出现最多的字符,统计这个次数
    var str = "asdfaass";
    var json = {}; //创建一个存放对象
    for(var i =0;i<str.length;i++){  //遍历字符串
        if(!json[str.charAt(i)]){  //判断对象里面是否没有函数元素
            json[str.charAt(i)] = 1; // true 赋值1
        }else{
            json[str.charAt(i)]++;  // fslse +1 并(替换掉原值)
        }
    };
    console.log(json)
    var iMax = 0; //初始化
    var iIndex = "";
    for(var i in json){
        if(json[i]>iMax){  //比较最大值
            iMax = json[i];
            iIndex = i;
        }
    }
    // console.log(typeof(iMax)+"--"+typeof(iIndex));
    console.log("出现最多字符是"+iIndex+",次数是:"+iMax);

    // outerHTML
    var oDiv = document.getElementById("test");
    console.log(oDiv.outerHTML);
    console.log(oDiv.innerHTML);

    //3、编写一个计算字符串的方法
    var str = "aa你好好";

    console.log(getStrlen(str)+"get")
    function getStrlen(str){
        var json ={len:0};
        var reg = /[\u4e00-\u9fa5]/; //正则汉字
        for(var i = 0;i < str.length;i++){
            if(reg.test(str.charAt(i))){
                json.len+=2;
            }
            console.log(json);
        };
        return json.len+str.length;
    }// 1、截取字符串
    var aa = "abcd";
    console.log(aa.substr(2,2));
    var str = "qweda";
    console.log(str.charAt());
    //  q
    console.log(str.charAt(0));
    // q
    console.log(str.charAt(3));
    // d

    // 2、判断一个字符串中出现最多的字符,统计这个次数
    var str = "asdfaass";
    var json = {}; //创建一个存放对象
    for(var i =0;i<str.length;i++){  //遍历字符串
        if(!json[str.charAt(i)]){  //判断对象里面是否没有函数元素
            json[str.charAt(i)] = 1; // true 赋值1
        }else{
            json[str.charAt(i)]++;  // fslse +1 并(替换掉原值)
        }
    };
    console.log(json)
    var iMax = 0; //初始化
    var iIndex = "";
    for(var i in json){
        if(json[i]>iMax){  //比较最大值
            iMax = json[i];
            iIndex = i;
        }
    }
    // console.log(typeof(iMax)+"--"+typeof(iIndex));
    console.log("出现最多字符是"+iIndex+",次数是:"+iMax);

    // outerHTML
    var oDiv = document.getElementById("test");
    console.log(oDiv.outerHTML);
    console.log(oDiv.innerHTML);

    //3、编写一个计算字符串的方法
    var str = "aa你好好";

    console.log(getStrlen(str)+"get")
    function getStrlen(str){
        var json ={len:0};
        var reg = /[\u4e00-\u9fa5]/; //正则汉字
        for(var i = 0;i < str.length;i++){
            if(reg.test(str.charAt(i))){
                json.len+=2;
            }
            console.log(json);
        };
        return json.len+str.length;
    }
时间: 2024-11-29 04:16:18

js面试题-2的相关文章

10个常见的Node.js面试题

如果你希望找一份有关Node.js的工作,但又不知道从哪里入手评测自己对Node.js的掌握程度. 本文就为你罗列了10个常见的Node.js面试题,分别考察了Node.js编程相关的几个主要方面. 在进入正文之前,需要提前声明两点: 这些问题只是Node.js知识体系的一个局部,并不能完全考察被面试者的实际开发能力. 对现实世界开发中遇到的问题,需要的是随机应变与团队合作,所以你可以尝试结对编程. Node.js面试题列表 什么是错误优先的回调函数? 如何避免回调地狱? 如何用Node来监听8

容易答错的JS笔试题

1,考察this var length = 10 function fn(){     alert(this.length) } var obj = {     length: 5,     method: function(fn) {         fn() // ?         arguments[0]() // ?     } } obj.method(fn) 这里的坑主要是arguments,我们知道取对象属于除了点操作符还可以用中括号,这里fn的scope是arguments,即

JS笔试题

1,考察this var length = 10function fn(){ alert(this.length)}var obj = { length: 5, method: function(fn) { fn() // ? arguments[0]() // ? }}obj.method(fn)这里的坑主要是arguments,我们知道取对象属于除了点操作符还可以用中括号,这里fn的scope是arguments,即fn内的this===arguments,调用时仅传了一个参数fn,因此le

前端js面试题

以下都是网上整理出来的JS面试题,答案仅供参考. /2,截取字符串abcdefg的efg//alert('abcdefg'.substring(4)); //3,判断一个字符串中出现次数最多的字符,统计这个次数/*var str = 'asdfssaaasasasasaa';var json = {}; for (var i = 0; i < str.length; i++) {        if(!json[str.charAt(i)]){                json[str.c

网上整理的JS面试题

以下都是网上整理出来的JS面试题,答案仅供参考. /2,截取字符串abcdefg的efg//alert('abcdefg'.substring(4)); //3,判断一个字符串中出现次数最多的字符,统计这个次数/*var str = 'asdfssaaasasasasaa';var json = {}; for (var i = 0; i < str.length; i++) {        if(!json[str.charAt(i)]){                json[str.c

一个简单的js面试题

在js群里看到有人发问,于是抱着练手的心态写了答了几个面试题,题目虽然不是太难,却很考验人的编程思维.汗颜,看了别人的答案后才发现自己好像笨了很多. 废话不说了 ,上代码. 1 要求 给一个数组的最后一个元素加1 结果大于10则给前一个元素加1 并设置当前元素值=0:前一个元素亦是如此,例如 var a=new Array(3,9); a[1]+1; a=[3,9]; 此题看似很简单,只要最后一个元素等于10 就给钱一个元素加1,设置当前元素为0就是了,但还有一种特殊一点的情况,就是当数组的所有

【前端芝士树】Vue.js面试题整理 / 知识点梳理

[前端芝士树] Vue.js 面试题整理 MVVM是什么? MVVM 是 Model-View-ViewModel 的缩写. Model代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑. View 代表UI 组件,它负责将数据模型转化成UI 展现出来. ViewModel 监听模型数据的改变和控制视图行为.处理用户交互,简单理解就是一个同步View 和 Model的对象,连接Model和View. 在MVVM架构下,View 和 Model 之间并没有直接的联系,而是通过ViewM

2017、2018面试分享(js面试题记录)记得点赞分享哦;让更多的人看到~~

2017面试分享(js面试题记录) 1. 最简单的一道题 '11' * 2 'a8' * 3 var a = 2, b = 3; var c = a+++b; // c = 5 2. 一道this的问题 var num = 10; var obj = { num:8, inner: { num: 6, print: function () { console.log(this.num); } } } num = 888; obj.inner.print(); // 6 var fn = obj.

一道常被人轻视的前端JS面试题

题目如下: function Foo() { getName = function () { alert (1); }; return this; } Foo.getName = function () { alert (2);}; Foo.prototype.getName = function () { alert (3);}; var getName = function () { alert (4);}; function getName() { alert (5);} //请写出以下输

Node.js面试题:侧重后端应用与对Node核心的理解

Node是搞后端的,不应该被被归为前端,更不应该用前端的观点去理解,去面试node开发人员.所以这份面试题大全,更侧重后端应用与对Node核心的理解. node开发技能图解 node 事件循环机制 起源 node正风生火起,很多介绍却停留在入门阶段,无法投入生产 node相关的高质量面试题更是少之又少,很难全面考查应聘者的node能力 许多文章在讲第三方类库,可是这些库质量差距较大,一旦遇到问题怎么办 必需的,全面了解node核心才能成为一名合格的node开发人员 目标与原则 前后端兼顾,更侧重