javascript基本对象
2016-12-21 17:02
176 查看
1 String对象
创建对象var string1 = new String("Hello"); var string2 = "Hello" //也可以创建一个基本的字符串,js后台会自动把其转换为String对象
1.1 length()
长度属性var str = "Hello,world!"; var tmp = str.length; //12
1.2 indexOf与lastIndexOf
根据元素找索引var myString = new String("hello world hello") document.write(myString.indexOf('hello')) //0,从前面开始匹配,匹配到后就不继续查找了 document.write(myString.indexOf('world')) //6 document.write(myString.indexOf('123')) //-1 document.write(myString.lastIndexOf('hello')) //12,从后面开始匹配,匹配到后就不继续查找了 document.write(myString.lastIndexOf('world')) //6 document.write(myString.lastIndexOf('123')) //-1
练手统计字符串
<script> originString = 'Python is an to learn, powerful programming language. It has efficient high-level data structures and a simple but effective approach to object-oriented programming. Python’s elegant syntax and dynamic typing, together with its interpreted nature, make it an ideal language for scripting and rapid application development in many areas on most platforms.' var foundAtPosition = 0 var targetCount = 0 while (foundAtPosition != -1){ foundAtPosition = originString.indexOf("Python",foundAtPosition) if(foundAtPosition != -1){ targetCount++ foundAtPosition++ //防止死循环 } } document.write(targetCount) </script>
1.3 substr()
复制字符串的一个子串,类似于py的切片var str = "Hello,world!"; var tmp = str.substr(0,4); //Hell
//获取当前网页文件名 var fileName = window.location.href; fileName = fileName.substr(fileName.lastIndexOf("/") + 1); document.write(fileName);
1.4 toLowerCase与toUpperCase
大小写转换var str = "Hello,world!"; var tmp = str.toLowerCase(); var tmp = str.toUpperCase();
1.5 charCodeAt
字符串转为字符编码var tmp ="A".charCodeAt(0);
1.6 fromCharCode
字符编码转为字符串//它是一个静态方法,不需要创建对象就能使用 var tmp = String.fromCharCode(65, 66, 67);
1.7 trim
去掉两端空格var myString = prompt("Enter some text", "Hello,world!"); var tmp = myString.trim();
2 Array对象
2.1 length
var names = []; names[0] = "morra"; names[1] = "blue"; names[11] = "jack"; var tmp = names.length document.write(tmp) //12 //["morra", "blue", undefined × 9, "jack"]
2.2 push()
添加元素使用push的时候无需指定索引
var names = ["123"]; names.push("hello1") names.push("hello2") document.write(names) //123,hello1,hello2
2.3 concat()
连接数组var names = ["a","b","c"]; var ages = ["1","2","3"]; var tmp = names.concat(ages); //["a", "b", "c", "1", "2", "3"]
2.4 slice()
切片var names = ["a","b","c","d","e","f"]; var tmp = names.slice(1,4); console.log(names) //初始数组对象不变,["a", "b", "c", "d", "e", "f"] console.log(tmp); //["b", "c", "d"]
2.5 join
连接var names = ["a", "b", "c", "d", "e", "f"]; var tmp = names.join("_") console.log(tmp) //a_b_c_d_e_f
2.6 sort()
排序排序是分大小写的
js保存的是字符串对应的unicode编码,所以排序是基于unicode编码而不是实际字母
2.7 reverse()
翻转var names = ["a", "b", "c", "d", "e", "f"]; names.reverse(); console.log(names) //["f", "e", "d", "c", "b", "a"]
2.8 indexOf与lastIndexOf
根据元素找索引,没有找到目标则返回-1var names = ["a", "b", "c", "d", "c", "f"]; var tmp1 = names.indexOf("c") var tmp2 = names.lastIndexOf("c") console.log(tmp1) //2 console.log(tmp2) //4
2.9 every()与some()
every():判断可迭代对象中的所有元素是否全部满足目标条件some():判断可迭代对象中的所有为元素是否全部满足目标条件
every()与some()都返回布尔值
var numbers = [1, 2, 3, 4, 5]; function isLessThan(value, index, array) { var ret = false; if (value < 3) { ret = true; } return ret } alert(numbers.every(isLessThan));
2.10 filter()
filter()返回的是符合条件的元素组成的数组。var numbers = [1, 2, 3, 4, 5]; function isLessThan(value, index, array) { var ret = false; if (value < 3) { ret = true; } return ret } console.log(numbers.filter(isLessThan)) //[1, 2]
2.11 forEach()和map()
都是对可迭代对象中的元素进行批量操作,但是forEach()是没有返回值的,因此只能操作但是不自动保存修改后的数据。//forEach var numbers = [1, 2, 3, 4, 5]; function double(value, index, array) { var ret = value * 2; console.log(ret) } numbers.forEach(double)
//map var numbers = [1, 2, 3, 4, 5]; function double(value, index, array) { var ret = value * 2; return ret } console.log(numbers.map(double)) //[2, 4, 6, 8, 10]
3 Math对象
Math对象提供了很多数学函数和数值操作的方法。Math对象之前不需要实例化,js会自动创建。所以在使用时直接用就好了。例如:var myNumber = -101; console.log(Math.abs(myNumber))
方法 | 注释 |
---|---|
abs() | 绝对值 |
min() | 最小值 |
max() | 最大值 |
ceil() | 向上修整到最接近的最小整数,例:10.01 > 11 , -9.99 > -9 |
floor() | 向下修整到最接近的最小整数,例:10.01 > 10 , -9.99 > -10 |
round() | 四舍五入 |
pow() | 指数 |
random() | 返回一个0~1之间的随机浮点数 |
指数
console.log(Math.pow(2,3)) //2^3
random()
返回一个0~1之间的随机浮点数
console.log(Math.random()) //返回 0<=x<1 之间的随机浮点数 console.log(Math.random()*6) //返回 0<=x<6 之间的随机浮点数 console.log(Math.floor(Math.random()*6)) //返回 0<=x<6 之间的随机整数 console.log(Math.floor(Math.random()*6)+1) //返回 1<=x<7 之间的随机整数
4 Number
创建对象与String类似var myNumber1 = new Number(123); var myNumber2 = 123; //切记下面的这种写法js会把其识别为String对象而不是Number对象 var myNumber2 = "123";
4.1 toFixed()
四舍五入,可自定义保留几位var myNumber1 = new Number(123.4567); console.log(myNumber1.toFixed(1)); //123.5 console.log(myNumber1.toFixed(2)); //123.46 console.log(myNumber1.toFixed(3)); //123.457
5 自定义对象
创建对象//方法一: var person1 = new Object(); //方法二: var person1 = {};
//创建属性 person1.name = "morra"; person1.age = "123"; //创建方法 person1.greet = function () { //创建方法并把一个匿名函数赋给它 alert("hello,world!") };
5.1 常规用法
一般在引用方法内的当前对象时使用this,而非实际的对象名。这是一个约定俗成的写法,不写也不会报错。var person1 = {}; person1.name = "morra"; person1.age = "30"; person1.info = function () { document.write("name:"+ this.name+"<br/>"+"age:"+this.age) }; person1.info();
5.2 简写
对象使用字面量的使用var person1 = { name:"morra", age:"30", info:function () { document.write("name:"+ this.name+"<br/>"+"age:"+this.age) } }; person1.info();
6 引用类型(对象的模版)
javascript允许用户根据自己的需求创建特定对象的模版。引用类型就是对象的模版,在使用新的对象模版之前需要先定义对象类型、方法、属性。定义对象模版的时候,并不会创建基于该模版的对象。只有使用new关键字创建该模版的实例时,才会根据原型(prototype)创建。其实javascript的“引用类型”和其他语言中的“类”的逻辑类似。String、Number、Array、Date、Object都是引用类型,用户创建的对象是这些类型的实例。
引用类型组成部分:构造函数、方法定义、属性。
//创建构造方法 function Person(name,age) { this.name = name; this.age = age; } //定义info方法 // 每个函数都有prototype属性,其只对构造函数有用。Person.prototype与Person()对象共享属性与方法。 Person.prototype.info= function () { return this.name+":"+this.age; } //创建两个对象 var p1 = new Person("morra","123"); var p2 = new Person("jack","456"); document.write(p1.info()) document.write(p2.info())
相关文章推荐
- JavaScript基本对象
- 对javascript基本对象的属性以及方法的实例介绍
- javascript基本属性arguments和Arguments对象
- Make Things Move -- Javascript html5版(二)实现最基本的Sprite类和stage管理对象
- JavaScript学习笔记(八) 基本类型包装器和Error对象
- JavaScript基本对象
- Javascript中的window对象基本属性和方法以及对alert,confirm,prompt的使用
- Javascript中对象的基本用法
- javascript-基本对象
- JavaScript中的基本对象
- JavaScript基本对象
- Javascript 的基本对象
- Javascript对象的基本知识
- Javascript中对象的基本用法
- Javascript访问Cookie的四个基本方法无论是在创建页面还是构建对象都会使用到,单独拿出来备用:
- Javascript对象的基本知识
- Javascript中判断对象的基本类型
- JavaScript对象的定义,其基本格式如下:
- javascript一些让人迷惑的地方--基本数据类型的包装对象
- 【JavaScript基本】对象常量