javascript中的字符串、对象和数组的获取方式<基础>
来源:互联网 发布:wampserver配置多域名 编辑:程序博客网 时间:2024/05/29 13:51
温故而知新。
字符串
- javascript中的字符串就是用”或者”“括起来的字符表示。
- 如果符号”或”“本身就是字符串那么则用”” 或者”括起来<两者使用是相反的>
- 转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\表示的字符就是\。
//例如 i'am "ok"'i\'am \"ok\"'//或者"i"+"'"+"am "+"'"+"ok"+"'"//转移字符'\x41'; // 完全等同于 'A'
- 获取字符串长度
var arr = "hello";arr.length //5
- 获取字符串内容
var arr = "hello"arr[2] // "l"arr[4] // "o"arr[10] // undefined 不会报错
- 给字符串赋值
var arr = "hello"; arr[2] = "M"; arr // "hello" //字符串是不可变的,如果对字符串的某个索引赋值,不会有任何错误,但是,也没有任何效果
- toUpperCase() 将字符串变为大写
- toLowerCase() 将字符串变为小写
- reverse() 将字符串反转
- indexOf() 返回字符串第一次出现的位置,不存在则返回-1
- substring() 截取字符串
var arr = "hello";arr.substring(1,3) //"el" 下表为3的值没有取到
- split 方法按照正则表达式分割字符串,返回一个由分割后的各个部分组
成的新数组
"ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("")//(26) ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"]//简单粗暴,分割字符串效率特别快
对象
- JavaScript的对象是一种无序的集合数据类型,它由若干键值对组成。可以存储属性和方法
- 访问对象的属性有两种方式 <还是有区别的!!!>
- 访问对象的属性调用对象的方法 <可实现简单的封装>
var person = { firstName : "John", lastName : "Doe", id : 5566, fullName:function(){ return this.firstName +" "+ person["lastName"]; }};//通过“.”获取属性person.firstName // "John"//通过“[]”获取属性person["lastName"] // "Doe"//函数属性作为一个方法访问person.fullName() // "John Doe"//函数属性作为一个属性访问person.fullName // function(){ return this.firstName +" "+ person["lastName"]; }//两者的区别在于调用的时候()的差异和返回值的差异
- 对象的赋值 – – 由于JavaScript的对象是动态类型,你可以自由地给一个对象添加或删除属性:
var person = { age:18,}person.sex //undefinedperson.sex = "male" //赋值person.sex //maledelete person.sex //true 删除属性delete person.name //true 删除一个不存在的属性,并不会报错person.name //undefined
- 检验对象中是否有该属性的两种方法
//in 判断是否为自身属性 但是区别不了是自身属性还是继承来的属性 "toString"就是继承来的属性 var person ={ age:18 } "age" in person //true "toString" in person //true 同样是true???//因为toString定义在object对象中,而所有对象最终都会在原型链上指向object,所以person也拥有toString属性。//hasOwnProperty() 可以判断属性是否为自身属性person.hasOwnProperty("age") //trueperson.hasOwnProperty("toString") //false
数组
- JavaScript的Array可以包含任意数据类型,并通过索引来访问每个元素。
var arr = [1,2,3,"apple","banana","orange"]; arr // (6) [1, 2, 3, "apple", "banana", "orange"] arr.length // 6 arr[3] //"apple" arr[3] = "dog" //赋值 会将原来的值覆盖 arr //(6) [1, 2, 3, "dog", "banana", "orange"] //注意::如果赋值的length超出实际范围,则会有undefined补齐 arr.length = 10; //更改超出范围的长度 --->这种操作比较危险 arr //(10) [1, 2, 3, "apple", "banana", "orange", undefined × 4] //另一中超出范围的赋值也很危险 同样会有undefined补齐 arr[10] = "dog"; arr //(11) [1, 2, 3, "apple", "banana", "orange", undefined × 4, "dog"]
- 数组元素的添加、删除(API)
//push和pop -- push()向Array的末尾添加若干元素,pop()则把Array的最后一个元素删除掉: pop没有参数 var arr = [1,2,3,"apple","banana","orange"]; arr.push("dog") //7 当前数组长度 arr //(7) [1, 2, 3, "apple", "banana", "orange", "dog"] arr.pop() //"dog" 当前删除元素 arr //(6) [1, 2, 3, "apple", "banana", "orange"] //unshift和shift -- 如果要往Array的头部添加若干元素,使用unshift()方法,shift()方法则把Array的第一个元素删掉: arr.unshift("dog"); //7 当前数组长度 arr // (7) ["dog", 1, 2, 3, "apple", "banana", "orange"] arr.shift(); //"dog" 当前删除元素 arr // (6) [1, 2, 3, "apple", "banana", "orange"]
数组元素的截取、修改(API)
- slice() 数组元素的截取
- slice()就是对应String的substring()版本。
- 该方法用于从数组中返回指定位置的元素组成的新的数组,原数组不变
//它的第一个参数为起始位置(从0 开始),第二个参数为终止位置。如果省略第二个参数,则一直返回到原数组的最后一个元素。var arr = [1,2,3,"apple","banana","orange"];arr.slice(2,4); //(2) [3, "apple"]arr.slice(); //(4) [3, "apple", "banana", "orange"]//该方法可以将类似数组的对象,转为真正的数组。 类数组对象不可使用数组APIArray.prototype.slice.call(document.querySelectorAll("div"));//或Array.prototype.slice.call(arguments);
- splice 数组元素的修改
- 该方法用于删除元素,并可以在被删除的位置添加入新的数组元素。它
的返回值是被删除的元素。
var arr = [1,2,3,"apple","banana","orange"];// 从索引2开始删除3个元素,然后再添加两个元素:arr.splice(2,3,"dog","cat");// 返回删除的元素 (3) [3, "apple", "banana"]arr; // (5) [1, 2, "dog", "cat", "orange"]// 只删除,不添加:arr.splice(2, 2); // (3) [3, "apple", "banana"]arr; // (3) [1, 2, "orange"]// 只添加,不删除:arr.splice(2,0,"dog","cat"); // 返回[],因为没有删除任何元素arr; // (8) [1, 2, "dog", "cat", 3, "apple", "banana", "orange"]
数组中对象的获取方法
var person=[ {name:"apple"}, {name:"banana"}, {name:"orange"} ]//因为数组的获取方式是通过索引来获取元素的,所以需要遍历每个数组:for(var i=0;i<person.length;i++){ console.log(person[i]); }//输出为 : {name: "apple"} {name: "banana"} {name: "orange"}console.log(person[i].name) //输出 apple banana orangeconsole.log(person[i]['name']) //输出 apple banana orangeconsole.log(person[i][name]) //undefined ??? name 的数据类型不对!!!
阅读全文
0 0
- javascript中的字符串、对象和数组的获取方式<基础>
- javascript的数组和对象定义方式
- javascript 数组和对象字符串
- PHP中数组,字符串和对象的在方法中的引用方式
- JavaScript中的对象和数组
- JavaScript中的对象和数组
- 认识Javascript中Location对象(二)以及如何获取URL中的查询字符串的值和获取网页的名称
- JavaScript和ES6中字符串、数组对象的比较
- JavaScript - 用对象的方式创建数组
- javascript中的数组和字符串方法总结
- JavaScript获取数组中的最大值和最小值
- javascript的对象和数组
- Javascript中的函数,数组和对象
- JavaScript中的数组对象属性和方法!
- javascript中数组(Array)对象的方法和字符串(String)对象的方法
- javascript中数组(Array)对象和字符串(String)对象的常用方法总结
- Javascript中的数组对象
- JavaScript中的字符串对象
- 解决错误: Failed to load class "org.slf4j.impl.StaticLoggerBinder"
- linux的一些简单命令
- 以太网交换机中FID的概念和作用
- tpcc-mysql 基准压测问题
- ie兼容性问题,以及js书写习惯。
- javascript中的字符串、对象和数组的获取方式<基础>
- macaca 测试web(3)
- 树莓派学习
- C结构体和C++结构体的区别
- order by 语句
- ssh框架整合
- pc端弹出层滚动外层也滚动问题
- 7天玩转云服务器
- Microsoft Project 组件Aspose.Tasks V17.8发布 | 附下载