亲写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 ...
随机推荐
- Redis为什么可以支持那么大的并发访问量?为什么redis没有单点并发瓶颈?
一是redis使用内存 而是redis使用多路复用的IO模型: 现代的UNIX操作系统提供了select/poll/kqueue/epoll这样的系统调用,这些系统调用的功能是:你告知我一批套接字,当 ...
- 实验三:xen环境下的第一个虚拟机的安装
实验名称: xen环境下的第一个虚拟机的安装 实验环境: 我们这里继续上面实验二来完成这个实验: 环境则是xen的安装环境,如下图: 开启虚拟机的的硬件辅助虚拟化功能: 实验要求: 这里我们通过安装b ...
- Vue Checkbox全选和选中的方法
<div class="search-content"> <Checkbox :value="checkAll" @click.prevent ...
- POI导入工具类
前言 导入的通用方法,包括xls.xlsx的取值方法,非空判断方法,空行判断,处理了手机号读取和日期读取格式问题.这几个方法就可以完成简单读取了,有时间我在优化下. maven依赖 <!-- P ...
- oninput、onchange与onpropertychange事件的区别, 与input输入框实时检测
这几天项目着急,同时也学到好多以前没有接触过的知识.oninput.onchange与onpropertychange事件的区别, 与input输入框实时检测 onchange事件只在键盘或者鼠标操作 ...
- Rabbitmq(5) 路由模式
设置路由键 发送者 package com.aynu.bootamqp.service; import com.aynu.bootamqp.commons.utils.Amqp; import com ...
- Rocket MQ 1 - 用
参考 http://www.iocoder.cn/categories/RocketMQ/ ; https://www.jianshu.com/nb/16219849 首先上启动方法,分别启动name ...
- 安装zabbix3.4 centos7
服务端 192.168.70.133 客户端 192.168.70.134 sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc ...
- java.lang.NoClassDefFoundError: org/bouncycastle/jce/provider/BouncyCastleProvider
今天部署完一个测试war包,打开页面的时候报错: HTTP Status 500 - Handler processing failed; nested exception is java.lang. ...
- C# 反编译
今儿也是运气背,不知怎么的,一脚就把电脑踢关机了(其实就轻轻碰到了一下主机),我去,写了一早上的代码,尼玛就不见,不见就算了,其实是保存了的,主要是文件还损坏了,尼玛,那心情!!! 然后就想着恢复,下 ...