js常用方法
若未声明,则都是js的方法 1、indexOf
indexOf(str):默认返回字符串中第一次出现索引位置 的下标,没有则返回-1
indexOf(str,position):返回从position指定的位置开始,字符串第一次出现的索引
lastIndexOf(str):返回在字符串中最后一次出现的索引
例子:
var str1 = "javascript html css";
var position = 5;
console.log(str1.indexOf("s")); //返回4
console.log(str1.indexOf("s",position));//返回17
console.log(str1.lastIndexOf("s"));//18
console.log(str1.lastIndexOf("b"));//没有返回 -1 2、字符串的截取
substr(start, length):start 截取的起始索引 length 截取字符的个数
若只有start, 则截取的是从start 开始到最后字符串
substring(start, end): start 截取的起始索引 end 截取的结束位置. 区间 [start, end)
若start = end, 则未截取到任何字符 var str2 = "javascript html css";
console.log(str2.substr(11, 4));//html
console.log(str2.substring(11, 15));//html
console.log(str2.substring(20, 22));//不存在返回空 3、match(str):以数组的形式返回,数组中第一个和str匹配的字符串,若不存在则返回null var str3 = "javascript html css";
console.log(str3.match("html")); //["html", index: 11, input: "javascript html css"]
console.log(str3.match("hm")); //null
console.log(str3.match("html"));//["html", index: 11, input: "javascript html css"] 4、search(str):返回第一次和str相同的起始位置的索引,若不存在,返回-1 var str4 = "javascript html css";
console.log(str4.search("html"));//11
console.log(str4.search("hm"));//-1 5、 jQuery.param():函数用于将一个js数组或对象 序列化为字符串值,
将jQuery对象按照name/value 或者key/value 序列化为url参数,用& 连接,以便于用url查询字符串或ajax请求 语法 $.param(object, trad)
object: 必须。规定要序列化的数组或对象
trad:可选,boolean,指定是否使用参数序列化的传统样式 var v1 = $.param( true );// 结果:""
var v2 = $.param( 100 );//""
var v3 = $.param( 12.34 );//""
var v4 = $.param( "" );//""
var v5 = $.param(function () {//""
return 18;
} );
var v6 = $.param(/\\d+/);//""
var v7 = $.param( new Date() );//""
var v8 = $.param( null ); //报错
var v9 = $.param( undefined );//报错 // 字符串将被看做数组
var v10 = $.param("name");
console.log(v10);// 0=n&1=a&2=m&3=e var v11 = $.param({ name: "zhangsan", age: 18});
console.log(v11);//name=zhangsan&age=18
var array = [
{ name: "name", value: "张三"},
{ name: "age", value: 18, extra: "不可忽略该属性" },
{ name: "grade" }, //没有value属性,则属性为undefined ,将被转为空字符串
{ name: "orderId", value: 2},
{ name: "orderId", value: 3},
];
var v12 = $.param( array );
console.log( v12 );//name=%E5%BC%A0%E4%B8%89&age=18&grade=&orderId=2&orderId=3 出现这种结果的原因是:jquery将数组的每个元素视作对象,并调用其name和value属性
由于有些元素没有name/value属性,所以为undefined,并被转为字符串“undefined” 6、instanceof 和 typeof
instanceof 运算符 判断一个变量是否是某个对象(类)的实例,返回值是boolean类型
var str6 = new String("abfsd");
console.log(str6 instanceof String);//true
一般来说只要使用构造函数创建的对象才会返回true,否则返回false,但是数组是个例外,都会返回true typeof:运算符 返回一个字符串,用于说明原来的类型,他的返回值有以下可能
number、boolean, string,function,object,undefined var str6 = new String("abfsd");
console.log(str6 instanceof String);//true
var str = new String("sdfjdf"); //
var strTeo = "jfedsjk";
console.log(typeof str);//object
console.log(typeof strTeo);//string 7、prototype 向对象添加属性 function employee(name, job, born){
this.name = name;
this.job = job;
this.born = born;
}
var bill = new employee("bill", "engineer", 1956);
employee.prototype.salary = null;
bill.salary = 1223;
console.log((bill.salary));//1223 8、push 向数组末尾添加数据,并返回数组的长度
pop:删除数组末尾的数,返回被删除的数据
unshift:向数组开头添加数据,并返回数组长度
shift:删除数组开头的数据,返回被删除的数据 var oldArr = [1,2,3];
console.log(oldArr.push(4, [5,6])); //返回数组长度5,在这里[5,6]被当做一个元素计算
console.log(oldArr);//[1,2,3, 4, [5,6]]
console.log(oldArr.pop());//删除[5, 6]
console.log(oldArr);//[1, 2, 3, 4]
console.log(oldArr.unshift(0,[8,9]));//返回数组长度为6
console.log(oldArr);//[0, Array[2], 1, 2, 3, 4]
console.log(oldArr.shift());//删除数组开头的数据0
console.log(oldArr);//[ Array[2], 1, 2, 3, 4] 9、concat():用于连接两个或多个数组,基于当前数组,创建一个 新数组并返回该数组 var a = [1,2,3];
console.log(a.concat(4,5));// [1, 2, 3, 4, 5]
var arr9 = new Array("Grorge", "John", "Thoms");
var arr9_1 = new Array("James", "Adrew","Martin");
console.log(arr9.concat(arr9_1));//["Grorge", "John", "Thoms", "James", "Adrew", "Martin"] 10、js的 slice(start,end):基于当前数组获取指定区域元素,并返回一个从 start 到 end 的新数组
start 必须,规定从何处开始选取,如果是负数,那么规定从数组尾部开始算起,-1 指最后一个元素,
-2 指倒数第二个元素,以此类推
end:可选,规定从何处结束选取,如果没有指定该参数,那么切分的数组包含从start开始到数组结束的所有元素
如果是负数,则规定是从数组尾部开始算起。 splice(start, deleteCnt, args):start:开始删除的下标,deleteCnt 表示从开始下标要删除的元素个数
args表示用来替换删除掉的那些元素 返回删除的元素
start为负数 表示从数组右边结尾处开始计算
若deleteCnt 不存在,表示删除start以后的全部元素,为负数表示不删除元素
oldArr2.splice(3,1) 删除从下标为3开始的一个数据,并返回删除的数据
var newData = oldArr2.splice(2, 0, "计算机"); //在第2个后面添加计算机,0表示一个也不删除,要插入数据了
newData 中的数据为空,oldArr2 中在第2个后面添加计算机。 var oldArr2 = ["张三", "男", 46, "演员"];
console.log(oldArr2.splice()) ;//返回空的字符串,不做任何操作
console.log(oldArr2.splice(3,1)) ;//删除从下标为3开始的一个数据并返回删除的数据:演员
console.log(oldArr2) ;//["张三", "男", 46]
var newData = oldArr2.splice(2, 0, "计算机"); //在第二个后面添加计算机
console.log( oldArr2) ;//["张三", "男", "计算机", 46, "演员"]
console.log( newData) ;//[] 11、 jQuery.hasClass()方法检查被选元素是否包含指定的class,返回true或false
$("p").hasClass("intro"); 检查p元素是否包含intro 类
js 的 trim() 去除字符串左右两端的空格,但是不能删除字符串中间的空格 var blank1 = " 123 235 4 55 485 ";
console.log(blank1.trim("/(^\s*)|(\s*$)/g",""));//123 235 4 55 485 去掉字符串前后空格,中间的空格无法删除
console.log(blank1.trim("/\s+/g",""));//123 235 4 55 485 去掉字符串前面的空格 12、attr(attribute, value)方法设置或返回被选元素的属性值
attr(attribute):获得元素的属性值
attr(attribute, value):为元素添加属性值 13、replace():方法用于在字符串中用一些字符替换另一些字符或者替换一个与正则表达式匹配的字符串
replace(pattern, replacement): replaceAll():实现替换全部指定字符串, g = global 全局 m = multiLine 多行 String.prototype.replaceAll = function (s1,s2){
return this.replace(new RegExp(s1, "gm"), s2);
}
var s1 = "abcdefg", s2 = "12",s3;
var s3 = replaceAll(s1,s2);
console.log(s1.replace(new RegExp(s1, "gm"), "1")); 14、 终止冒泡事件,兼容各个浏览器
事件冒泡:从下级元素到上级元素
捕获事件:从上级元素到下级元素 if(event.stopPropagation()) {
event.stopPropagation(); //for mozzilla and opera
} else {
window.event.cancelBubble = true;//for IE
}
js常用方法的更多相关文章
- (2)Underscore.js常用方法
目录 1.集合相关方法 1.1.数组的处理 map(循环,有返回值),将返回的值依次存入一个新的数组 each(循环,无返回值 ...
- js常用方法和检查是否有特殊字符串和倒序截取字符串
js常用方法demo <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...
- JS常用方法封装
迭代添加各种常用方法:项目中一定会有很多常用的方法,包括:取值,校验,等...... 获取 url 后的参数 function getQueryString(name) { var reg = new ...
- JS常用方法函数整理
1.document.write("");为输出语句 2.JS中的注释为// 3.传统的HTML文档顺序是:document->html->(head,body) 4. ...
- JS常用方法函数
document.write("");为 输出语句 2.JS中的注释为// 3.传统的HTML文档顺序是:document->html->(head,bod ...
- js常用方法收集
JS获取地址栏制定参数值: //获取URL参数的值 function getUrlParam(name){ var reg = new RegExp("(^|&)"+ na ...
- js常用方法:
1.将 "\/Date(1313572554031)\/" 转化为 “yyyy-MM-dd hh:mm:ss”字符串格式: //测试 var str = "\/Date( ...
- JS常用方法总结,及jquery异步调用后台方法实例
//前台接收get参数值 function getQueryString(name) { var queryStrings = window.location.search.sp ...
- JS常用方法【私房菜-笔记】-持续整理中
//记录一下前端开发中 JS常用的方法等,持续收集整理中 ---------------------------------------------------------- //处理键盘事件 禁止后 ...
随机推荐
- mongoDB学习笔记:了解与安装
初次使用mongoDB是在2013年,项目组为了新产品的研发,使用了mongoDB,作为项目组的一名测试员,也就跟着学起来了. 1.了解mongoDB Mongo DB ,是目前在IT行业非常流行的一 ...
- 【SSM 7】Mybatis底层封装思路
一.基本概述 在前面的博客中介绍到Mybatis的逆向生成工具,为我们生成了每个实体的基本增删改查的代码,那么每个实体都是那么多的代码,我们很容易的发现,有很大的相似性.对于这部分代码,应该予以抽象封 ...
- 优化servlet
在最开始的时候我们写一个servlet(LoginServlet)对应一个请求(Login.jsp),这样的话就会产生很多的servlet,使其以后维护变得麻烦,所以我们可以考虑将同一类型(Login ...
- Excel 取得一定范围内最大的有值的行号
dim iRow iRow = Range("A1000").End(xlUp).Row
- jquery操作复选框(checkbox)的12个小技巧总结
1.获取单个checkbox选中项(三种写法)$("input:checkbox:checked").val()或者$("input:[type='checkbox']: ...
- 使用 Wireshark 调试 HTTP/2 流量
https://imququ.com/post/http2-traffic-in-wireshark.html
- MATLAB取余求模
(1)fix(x) : 截尾取整 >> fix( [3.12 -3.12]) ans = 3 -3 (2)floor(x): 不超过x 的最大整数.(高斯取整) >> ...
- linux网络学习
ipv4报文处理流程 1.物理层网卡收到报文,产生中断进入中断处理程序:net_interrupt,判断中断是由接收到分组引发后,控制权转移到net_rx: 2.net_rx函数分配一个新的sk_bu ...
- ubuntu安装mysql-python出错,EnvironmentError: mysql_config not found
安装mysql-python包出错 Downloading MySQL-python-.zip (108kB) % |████████████████████████████████| 112kB 1 ...
- VUE 入门基础(4)
四,计算属性 基础例子 <div id='example'> <p>0riginal message: "{{message}}"</p> &l ...