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常用的方法等,持续收集整理中 ---------------------------------------------------------- //处理键盘事件 禁止后 ...
随机推荐
- LR12.53—第3课:重播Vuser脚本
第3课:重播Vuser脚本 在前面的教训,你记录了一组典型的用户行为,并准备重播脚本. 重播脚本之前,您可以配置脚本的运行时设置,它定义了Vuser的行为. 注:记录与基于Web的协议的地方WebTo ...
- jenkins:通过execute shell启动的进程会被杀死的问题
[问题]在jenkins中配置自动更新部署项目时,如果采取用execute shell启动/关闭tomcat,会发现可以进行关闭tomcat,但是无法启动tomcat,虽然构建会显示执行成功,但是查看 ...
- phthon
没什么特别的,我们项目的跨平台代码都是在Windows环境下编码,然后跨平台编译调试,C++和Python代码都是如此.我们用C++实现底层和框架,用ctypes将纯C的API给Python化,然后用 ...
- unity3d中检测一个物体是否在摄像机视野范围内
这个脚本最好是把模型对象的锚点设置在最低点.好了直接上脚本.可以直接复制代码,把CS文件拖到一个Camera上,然后把目标拖到targetTran中去就行了. using UnityEngine; u ...
- ZYNQ 的PS GEM DMA存在缺陷
使用iperf对zynq进行单socket tcp传输速率测试: 无网络损伤时,单向网络带宽约为600Mbps,双向网络带宽相加约400Mbps: 50ms延时,1ms抖动,无丢包时,单向网络带宽约为 ...
- java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver 错误的解决办法
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver 错误的解决办法 (2011-05-05 16:08:05) 转载▼ ...
- mysql 忘记root 密码的解决方法
LINUX 1.切换root 用户 2.停止mysqld 服务 /etc/inid.d mysqld stop 3.跳过验证登录 mysqld_safe --skip-grant-tables &am ...
- TortoiseGit 图标不显示
1. 确认注册表:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdent ...
- Spark学习笔记之SparkRDD
Spark学习笔记之SparkRDD 一. 基本概念 RDD(resilient distributed datasets)弹性分布式数据集. 来自于两方面 ① 内存集合和外部存储系统 ② ...
- c++ stl容器set成员函数介绍及set集合插入,遍历等用法举例
c++ stl集合set介绍 c++ stl集合(Set)是一种包含已排序对象的关联容器.set/multiset会根据待定的排序准则,自动将元素排序.两者不同在于前者不允许元素重复,而后者允许. 1 ...