indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
stringObject.indexOf(searchvalue,fromindex)
注释:indexOf() 方法对大小写敏感!
注释:如果要检索的字符串值没有出现,则该方法返回 -1。
substring() 方法用于提取字符串中介于两个指定下标之间的字符。
stringObject.substring(start,stop)
重要事项:与 slice() 和 substr() 方法不同的是,substring() 不接受负的参数。
3、Navigator 对象包含有关浏览器的信息。
4、合并数组 arr1 和数组 arr2。不要直接修改数组 arr,结果返回新的数组
链接:https://www.nowcoder.com/questionTerminal/ba9ee11affbd44539a4104d7f098f06b
来源:牛客网
//利用concat
function
concat(arr1, arr2) {
return
arr1.concat(arr2);
}
//利用slice+push.apply
function
concat(arr1, arr2) {
var
newArr=arr1.slice(0);
[].push.apply(newArr, arr2);
return
newArr;
}
//利用slice+push
function
concat(arr1, arr2) {
var
newArr=arr1.slice(0);
for
(
var
i=0;i<arr2.length;i++){
newArr.push(arr2[i]);
}
return
newArr;
}
//普通的迭代拷贝
function
concat(arr1, arr2) {
var
newArr=[];
for
(
var
i=0;i<arr1.length;i++){
newArr.push(arr1[i]);
}
for
(
var
j=0;j<arr2.length;j++){
newArr.push(arr2[j]);
}
return
newArr;
}
5、鼠标悬停 弹窗显示:
css设置标签{display:none;},然后再js控制显示隐藏。
6、str.indexOf(search,index);index是非必选项,indexOf对search的大小写敏感。
7、if(null){} //if中的null转为boolen是false
8、var momement = setTimeout(funtion(){document.write(222222222222);},2000);console.log(momement);//1
setTimeout返回的值是一个句柄,可以用clearTimeout(momement)来取消这个setTimeout.,一般代码中也需要加上这个函数。
9、var ans= pattern.test(string); test()方法返回的值是true ,false.
10、有时候var car=new foo() 等于 var car=new foo.前提是foo()中不传递任何参数。
任何函数,只要通过new运算符调用,就可以作为构造函数,不通过new调用,则就是普通函数。
function Person(name){
this.name=name;
this.sayname=function(){
console.log(this.name);
}
}
var o=new Object();
Person.call(o,"xiao");
o.sayname(); //xiao
call()的作用是让Person()函数在对象O的作用域调用的,因此调用后o就拥有了所有的属性和sayName()方法。
11、$(this).parent().parent()返回的是整个父标签对象,相当于$(), 例子:$(this).parent().parent().css("color","red");
$(this).parent().parent().attr('id')获取父标签的父标签的id名字。
同理children().
12、判断该标签是否隐藏:Is()
if(cli.is(':hidden')){//如果当前隐藏
cli.show();
}else{
cli.hide();
}
13、获取点击对象的id:
尽量使用event.target.id
,不要使用this.id
。
当使用事件委托的时候,this
指向的是绑定监听事件的元素,而非被点击的元素。event.target.id
则始终指向被点击的元素。
$("xxx").click(function(){
方法一:var a=event.target;
console.log(a.id);
方法二:$(this).id
方法三:console.log($(this).parent().parent().attr('id')); 获取父元素的父元素的id.
})
由此可推,获取点击对象的方法:
方法一:var a=event.target;
方法二:$(this)
具体的例子:
$("li span").click(function(event){
var e=event.target;
console.log(e); //点击span标签得到span
var cli=$(e).parent().parent().children("div.hid"); //注意,要这样写$(e),不能$("e") 有疑问可以搜索jq字符串拼接。
if(cli.is(':hidden')){//如果当前隐藏
cli.show();
}else{
cli.hide();
}
})
获取元素的标签名:var e=event.target;
console.log(e.tagName=='H3'); //true 注意:H3要加引号
显示隐藏 上下箭头切换
//显示隐藏
$("li ").click(function(event){
var e=event.target;
console.log(e.tagName=='SPAN');
var cli=$(e).parent().parent().children("div.hid");
if(cli.is(':hidden')){
cli.show();
if(e.tagName=="SPAN"){
$(e).css("background-position","3.3rem 0");
}
if(e.tagName=="H3"){
$(e).next("span").css("background-position","3.3rem 0");
}
}else{
cli.hide();
$(e).css("background-position","0 0");
$(e).next("span").css("background-position","0 0");
}
})
<a>
<em>已绑定</em>
<span class="img_arrow"></span>
</a>
</p>
console.log(4);
})
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if(r != null) return(r[2]); //如果r对象存在,执行这个语句,则下面这句就不会执行了。这个语句返回的是一个数组
return null; //null表示"没有对象",即该处不应该有值。undefined表示"缺少值",就是此处应该有一个值,但是还没有定义。
}
$('.help-right >div').click(function(){
var n=$(this).index();
Number = n;
if($(this).hasClass('showContent')){
$(this).removeClass("showContent"); //如果点击的元素有class(也就是展示了隐藏的部分),就移除class,让它隐藏。
}else{
$('.help-right div').removeClass("showContent"); //把之前点击后拥有class的元素隐藏,新点击的元素添加class,让元素显示。
$(this).addClass("showContent");
}
})
var index = getUrlPara("showIndex");
if(index && index > 0 && index < 8){
$('.help-right >div').eq(index).addClass('showContent'); //eq() 方法将匹配元素集缩减值指定 index 上的一个,也就是精确到哪个div
var title = $('.showContent li h3').eq(0).html();
$('title').text(title);
}