亲写javascript 各类面试题
DOM修改:
1、全文单词首字母大写---2013 腾讯
var toCapitalize = function (str){
var aStr1 = str.split(" ");
var aStr2 = [];
for (var i=0; i<aStr1.length; i++){
var capitalizeEle = aStr1[i].charAt(0).toUpperCase() + aStr1[i].slice(1);
aStr2.push(capitalizeEle);
}
return aStr2.join(" ");
}
var str1 = "Your organization has made significant technology investments pport solutions can help you opportunities.";
alert(toCapitalize(str1))
其实,如果数据不用于后台运算,只是表现上的首字符大写的话,这样就可以了:
#foo{text-transform:capitalize}
算法题:
1、两个字符串A、B ,假设字符串A 长度为m,假设字符串B,长度为n,找出在A中包含的B的所有字符。----2013 腾讯
var aCommonChar = function (a,b){
var result = [],hashTable = {};
//1 历遍第一个参数字符串,删除掉重复的字符,放入结果hash表中。
for (var i = 0; i < a.length; i++){
var name1 = a.charAt(i);
if (!hashTable[name1]){
hashTable[name1] = 0;
}
}
//2 历遍第二个参数字符串,如果第二个字符串中有和上面hash中的键名相同的字符,则修改键值为1。
for (var j=0; j<b.length; j++){
var name2 = b.charAt(j);
if (hashTable[name2] === 0){
hashTable[name2] = 1;
}
}
//3 历遍hashTable,把键值为1的键名push进结果数组
for (key in hashTable){
if (hashTable.hasOwnProperty(key) && hashTable[key] === 1){
result.push(key);
}
}
return result;
}
//test
var A = " The Hebrew word for “wonder” means, “a cause of astonishment.” God’s dealings with the Psalmist David had been such that people noticed ";
var B = "The disciples were seen as a wonder unto many for basically they were unlearned and ignorant men - Act 4:13. Yet the Apostles felt they were being made a spectacle to the world, 1Co 4:9. ";
alert(aCommonChar(A,B))
2 写一个RGB色彩值转化为16进制色彩值的函数,例如RGB(0,255,0)→#00ff00
var sRGBToHex = function (str){
if (str.search(/rgb/i) === -1){//兼容ie6-8,它们的颜色值本身就是16进制的
return str;
}
var result = "#";
str = str.replace(/rgba?\((.*)\)/gi,"$1");
aStr = str.split(",");
for (var i=0; i<3; i++){//这里直接写了3,是因为标准浏览器的色彩值可能包含透明度信息,例如RGBA(0,255,30,0.5)
var iColorAlpha = +aStr[i];
if (iColorAlpha < 16){
result += "0" + iColorAlpha.toString(16);
}else{
result += iColorAlpha.toString(16);
}
}
return result;
}
亲写javascript 各类面试题的更多相关文章
- Javascript前端面试题
在网上看到了一些Javascript的面试题就整理了下来,后续看到再继续补充. 面试题按类型来分,主要涉及到"技术"与"非技术"两大类,技术类别下涉及到的子类别 ...
- 50道JavaScript基础面试题(附答案)
https://segmentfault.com/a/1190000015288700 1 介绍JavaScript的基本数据类型 Number.String .Boolean .Null.Undef ...
- (转)50道JavaScript基础面试题(附答案)
https://segmentfault.com/a/1190000015288700 1 介绍JavaScript的基本数据类型 Number.String .Boolean .Null.Undef ...
- JavaScript经典面试题(二)
前言: 近年来T行业就业者越来越多,有关于编程行业的高薪工作也变得越来越难找,竞争力越来越大,想要在众多的应聘者当中脱颖而出,面试题和笔试题一定要多加研究和琢磨,以下记录的是自己的面试过程之中遇到的一 ...
- 像C++一样写JavaScript
像C++一样写JavaScript C/C++/Java的include或import可以引用第3方文件和包. 这个功能在Html/Js里没有默认的实现. 假设我们有这样一个HTML文件index.h ...
- CoffeeScript飞一样的写javascript
之前看到同事在使用coffeescript写js,当我看到那简介的coffee文件,就深深的被coffescript吸引了,简洁的语法,熟练之后会大大提升javascript的开发速度,写脚本也能像飞 ...
- 使用Typescript来写javascript
使用Typescript来写javascript 前几天尝试使用haxejs来写javascript,以获得静态类型带来的益处.虽然成功了,但很快发现将它与angularjs一起使用,有一些不太顺畅的 ...
- 代码规范(RL-TOC)用更合理的方式写 JavaScript
代码可以改变世界 不规范代码可以毁掉世界 只有先学会写规范的代码,才可以走的更远 编程语言之间有很多编程规范都是通用: 命名 不要用语言不明的缩写,不用担心名字过长,名字一定要让别人知道确切的意思; ...
- 如何写javascript代码隐藏和显示这个div
如何写javascript代码隐藏和显示这个div 浏览次数:82次悬赏分:10 | 解决时间:2011-4-21 14:41 | 提问者:hade_girl <div id="div ...
随机推荐
- Linux系统编程——信号
目录 信号的介绍 信号的机制 信号的编号 Linux常规信号一览表 信号的产生 终端按键产生信号 硬件异常产生信号 kill函数/命令产生信号 信号的操作函数 信号集设定 sigprocmask函数 ...
- IntelliJ IDEA 调试技巧
程序员的工作内容,有不少的时间是用在调试代码上.可以说不是在调试代码,就是即将调试代码. 掌握调试代码的一些技巧,在使用IDE提供的debugger时会快速定位问题的方式. 1.多线程调试 在多线程应 ...
- 学习excel的使用技巧二批量复制
1 选中要操作的部分 2 CTRL+G 打开定位 3 点击 定位条件 4 选择空值 5 输入=号 然后键盘的 方向键 向上 6 按住CTRL+回车 即可实现 批量复制
- 操作系统切换CPU的方式
操作系统切换CPU的方式 1 IO等待切换. 2 时间轮询切换,也就是如果没有IO等待的情况下,就会有时间轮询切换,不让CPU一直处理一个任务 CPU的处理速度是纳秒级别的,所有我们可以同时听歌, ...
- hadoop分布式集群搭建(2.9.1)
1.环境 操作系统:ubuntu16 jdk:1.8 hadoop:2.9.1 机器:3台,master:192.168.199.88,node1:192.168.199.89,node2:192.1 ...
- php 处理上百万条的数据库如何提高处理查询速度
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...
- [PHP]误读支付宝接口可能引发的乌龙
------------------------------------------------------------------------------------ 之所以发现这个坑,源起项目中的 ...
- 小事牛刀之——python做文件对比
使用python对比filename1和filenam2的差异,并将差异写入到filename3中. #!/usr/bin/env python # -*- coding: utf-8 -*- # @ ...
- C++ 50学习 之提高对 C++的认识
转自Effective C++ 理解设计目标. 1.和 C 的兼容性. 2.效率. C++在效率上可以和 C 匹 敌 ---- 二者相差大约在 5%之内. 3.和传统开发工具及环境的兼容性. 4.解决 ...
- cdnbest里如何查看网站是否被缓存
比如开启了强制缓存,如何查看缓存是否生效 本例以firefox浏览器查看,先打开浏览器,按下F12, 然后在浏览器是输入网址访问 如下图响应头里的 x-cache显示 Miss from 就是没有缓 ...