您的位置:首页 > 职场人生

前端面试题

2016-12-11 15:03 190 查看
js 获取浏览器URL中查询字符串的参数
<script>
function getQuery(name){
var reg = new RegExp("(^|&)"+name+"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null){
return unescape(r[2]);
}
return null;
}
alert(getQuery('id'));
</script>
假设在浏览器的地址栏中输入的是:index.html?name=byer&id=4
那么4将会被弹出

运算语句⇒ 返回结果
typeof(null)  ⇒  object
typeof(undefined)⇒ undefined
typeof(NaN)⇒ number

JS 实现字符串的发转:js实现字符串的发转主要是把字符串从末尾开始的每一个元素截取后,在重新地组成一个新的字符串。代码如下:
function reserveStr(str) {
var serStr = "";
for(var i = str.length-1; i >= 0; i--){
serStr += str.charAt(1);
}
return serStr;
}
var str = "byer";
console.log(reserveStr(str));

js实现字符串去重
<script type="text/javascript">
//String.split() 执行的操作与 Array.join 执行的操作是相反的
//split() 方法用于把一个字符串分割成字符串数组。
//join方法用于将字符串数组连接成一个字符串
//如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。
var str="aabbccddeeff";//这里字符串没有可以分隔的字符,所以需要使用空字符串作为分隔符
function unique(msg){
var res=[];
var arr=msg.split("");
//console.log(arr);
for(var i=<
4000
span class="hljs-number">0;i<arr.length;i++){
if(res.indexOf(arr[i])==-1){
res.push(arr[i]);
}
}
return res.join("");
}
console.log(unique(str));//abcdef
</script>
js splice 实现字符串的插入和数组的插入
js splice实现字符串的插入要重写splice 方法
1、原型定义如下:
if (!String.prototype.splice) {
String.prototype.splice = function(start, delCount, newSubStr) {
return this.slice(0, start) + newSubStr + this.slice(start + Math.abs(delCount));
};
}
2、重写后代码如下:
String.prototype.splice = function(idx, rem, str) {
return this.slice(0, idx) + str + this.slice(idx + Math.abs(rem));
};
3、使用方法:
var result = "foo baz".splice(4, 0, "bar ");
document.body.innerHTML = result;
结果:在 "foo bar"中的第4个位置插入字符串bar ,变成:"foo bar baz"

js 实现数组中的插入
<script type="text/javascript">
var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"
document.write(arr + "<br />")
arr.splice(2,0,"William")
document.write(arr + "<br />")
</script>
输出结果:
George,John,Thomas,James,Adrew,Martin
George,John,William,Thomas,James,Adrew,Martin
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: