< 笔记 > JavaScript
来源:互联网 发布:php使用ftp上传文件 编辑:程序博客网 时间:2024/05/21 18:49
07 JavaScript 对象
By Kevin Song
- 07-01 Object对象
- 07-02 Number对象
- 07-03 String对象
- 07-04 Array对象
- 07-05 Date对象
- 07-06 Math对象
- 07-07 自定义对象
07-01 Object对象
常用方法
- toString
- 将该对象的原始值以字符串形式返回
- 在字符串运算里,会优先调用toString(),如alert(c)
- valueOf
- 返回最适合该对象类型的原始值
- 在数值运算里,会优先调用valueOf(),如a + b
<script type="text/Javascript"> function show() { alert("show run"); } alert(show.toString()); var arr = [1,2,3,4]; alert(arr.toString());</script>
07-02 Number对象
- new Number(“123”);
- 属性
- MIN_VALUE 最小值:
- MAX_VALUE 最大值:
- NaN:表示不是数字
- 方法
- toFixed() 返回一个数字的小数表达
- a.toFixed(2) //123.00
- toExponential() 返回一个数字的科学记数法表达
- a.toExponential() //1.23e+2
- valueOf() 返回一个数字的对象的基本数字类型
- typeof a //object类型
- typeof a.valueOf() //123 number类型
- toFixed() 返回一个数字的小数表达
07-03 String对象
创建对象两种方式
var str = new String("abc");
var str = "abc"
- 常用属性
- length
- prototype
- 常用方法
- String a = new String(“123”);
- 根据角标找字符
- charAt()返回指定位置的字符
- s.charAt(0) //1
- charCodeAt()返回指定位置的字符对应的Unicode码
- s.carCodeAat(0)//49
- charAt()返回指定位置的字符
- 根据字符找角标
- indexOf() 返回字符串第一次出现的位置
- lastIndexOf 返回字符串最后一次出现的位置
- concat() 连接
- localeCompare 比较字符串是否相同
- 0 表示相同
- 1 表示字母顺序靠后
- -1 表示字母顺序靠后
- substr(start,length)子串
- subString(start,end)子串包含头不包含尾
- split(regex) 分割为数组
- replace(search,replacement)用replacement替换第一个search
- 多个替换
- var regS = new RegExp(“a”,”b”,”c”…);
- x.replace(regS,”o”);
- 多个替换
- bold()加粗
- fontcolor()字体颜色
- link()加上超链接
<script type="text/Javascript" src="out.js"></script><script type="text/Javascript"> var str = "abcde"; println("len="str.length);//len=3 alert(str.bold());//<b>abc</b> println(str.bold());//加粗后的abc alert(str.fontcolor("red"));//<font color="red">abc</font> println(str.fontcolor("red"));//红色abc alert(str.link("http://www.baidu.com"))//<a href="http://www.baidu.com">abc</a> println(str.link("http://www.baidu.com"));//超链接abc</script> println(str.substr(1,3));//bcd println(str.substring(1,3));//bc
out.js文件function println(param) { document.write(param+"<br/>");}function print(param) { document.write(param);}
自定义功能
去除字符串两端的空格
思路:
- 定义两个变量,一个记录开始位置,一个记录结束位置
- 对开始的位置的字符进行判断,如果是空格就递增,直到不是空格为止
- 对结束的位置的字符进行判断,如果是空格就递减,直到不是空格为止
<script type="text/Javascript"> function trim(arr) { var start, end; start = 0; while (start<=end && str.charAt(start)==" ") { start++; } while (start<=end && str.charAt(end)==" ") { end--; } return str.substring(start,end+1); } var str = " ab c "; alert("-"+trim(str)+"-");</script>
prototype属性:给对象添加新功能
String.prototype.len = 100;//给String的原型对象中加了一个名为len值为199的属性
<script type="text/Javascript" src="stringtool.js"> var str = " ab c "; alert("-"+str.trim()+"-");</script>stringtool.js文件String.prototype.trim = function () { var start, end; start = 0; while (start<=end && str.charAt(start)==" ") { start++; } while (start<=end && str.charAt(end)==" ") { end--; } return str.substring(start,end+1);}
07-04 Array对象
定义数组的两种方式
- 方式一:var arr=[1,2,3,4];
- 方式二:使用Array对象来定义
- var arr = new Array();//var arr =[];
- var arr = new Array(5);//数组长度为5
- var arr = new Array(5,6,7);//数组元素是5,6,7
Array对象方法
- concat(element1,element2,…)在数组里添加新的元素
<script type="text/Javascript" src="stringtool.js"> var arr1 = ["aaa","bbb","ccc"];//aaa,bbb,ccc var arr2 = ["eee","fff",10]//eee,fff,10 var newArr = arr1.concat("ddd",arr2);//aaa,bbb,ccc,ddd,eee,fff,10</script>
- join(“-“)定义数组字符串连接符
<script type="text/Javascript" src="stringtool.js"> var arr1 = ["aaa","bbb","ccc"];//aaa,bbb,ccc arr1.join("-");//aaa-bbb-ccc</script>
- push() 在最后的位置插入数据并返回数组的新长度
- pop() 在最后的位置获取数据并返回该元素
<script type="text/Javascript" src="stringtool.js"> var arr1 = ["aaa","bbb","ccc"]; println(arr1);//aaa,bbb,ccc arr1.pop();//ccc println(arr1);//aaa,bbb</script>
- unshift 在开始的位置插入数据并返回该数组
- shift 在开始的位置获取数据并返回该元素
- sort()正向排序(默认小的数在前)
- 自定义排序算法
- function comparetor(v1,v2) {return v2-v1;//v2-v1表示大的在前,小的在后}
- x.sort(comparator);
- 自定义排序算法
- reverse()反向排序
- slice(start,end)截取数组,包含start不包含end
- splice(start,deleteCount,element1,element2,…)从start开始删除deleteCount个元素并且加入新的元素,返回被删的元素
<script type="text/Javascript" src="stringtool.js"> var arr1 = ["aaa","bbb","ccc"];//aaa,bbb,ccc println(arr1);//aaa,bbb,ccc arr1.splice(1,1,111,"hhh","kkk");//bbb println(arr1);//aaa,bbb//aaa,111,hhh,kkk,ccc</script>
堆栈和队列结构实现
FIFO先进先出。队列结构
<script type="text/Javascript" src="stringtool.js"> var arr = []; //arr.unshift("aaa","bbb","ccc"); arr.unshift(aaa);//aaa arr.unshift(bbb);//bbb,aaa arr.unshift(ccc);//ccc,bbb,aaa arr.pop();//aaa arr.pop();//bbb arr.pop();//ccc</script>
FILO先进后出。堆栈结构
<script type="text/Javascript" src="stringtool.js"> var arr = []; //arr.unshift("aaa","bbb","ccc"); arr.unshift(aaa);//aaa arr.unshift(bbb);//bbb,aaa arr.unshift(ccc);//ccc,bbb,aaa arr.shift();//ccc arr.shift();//bbb arr.shift();//aaa</script>
自定义功能
<script type="text/Javascript"> var array = ["aaa","bbb","ccc"]; array.getMax(); array.toString();</script>arraytool.js文件//数组获取最值Array.prototype.getMax = function() { var temp = 0; for(var x = 1; x < this.length; x++) { if(this[x] > this[temp]) { temp = x; } } return this[temp];}//数组的字符串表现形式Array.prototype.toString = function() { return "["+this.join()+"]"}
07-05 Date对象
创建对象方法
- new Date():获取当前时间
常用方法
- toLocaleString()获取日期和时间
- toLocaleDateString()获取日期
- getFullYea()r获取年份
- getMonth()获取月份,+1之后才是实际月份
- getDate()获取日
- getWeek()获取星期
- getTime()获取毫秒值
<script type="text/Javascript" src="out.js"> var date = new Date(); println(date.toLocaleString());//日期和时间 println(date.toLocaleDateString());//日期 var year = date.getFullYear(); var month = date.getMonth()+1; var day = date.getDate(); var week = date.getDay();</script>
日期对象-毫秒值转换
日期对象–>毫秒值
var time = date.getTime();
毫秒值–>日期对象
var date3 = new Date(time);
日期对象-字符串转换
日期对象–>字符串
toLocaleString()获取日期和时间toLocaleDateString()获取日期
字符串–>毫秒值–>日期对象
var str_date = "9/28/2017";var time = Date.parse(str_date);var date = new Date(time);
07-06 Math对象
该对象的方法都是静态的
<script type="text/Javascript" src="out.js"> var num1 = Math.ceil(12.34);//13 返回大于等于指定参数的最小整数 var num2 = Math.floor(12.34);//12 返回小鱼等于指定参数的最小整数 var num3 = Math.round(12.34);//13 四舍五入 var num4 = Math.pow(10,2);//10的2次方 var num5 = Math.random();//0-1之间的伪随机数 var num6 = parseInt(Math.random()*10+1);//获取1-10之间的随机数</script>
全局方法
Global对象中的方法都是全局方法
- parseInt(数据,进制):把指定进
- 制的字符串转化成十进制
- parseInt(“12abc”);//12
- parseInt(“abc12”);//NaN
- isNaN():判断是否非法
把指定进制的字符串转化成十进制
- parseInt()
把十进制转换成其他进制
- number对象的toString方法
var num = new Number(6);num.toString(2);//110 十进制6转换成二进制的110
07-07 自定义对象
JS用函数来描述对象
方法一
- 函数描述Person
- 建立Person对象
- 动态添加属性
function Person() { alert("person run");}var p = new Person();p.name = "Tony";p.age = 29;p.show = function() { alert("show:"+this.name+":"+this.age);}p.show();
方法二
- 函数描述Person,参数列表不为空
- 建立Person对象
function Person(name, age) { this.name = name; this.age = age; this.setName = function(name) { this.name = name; } this.setAge = function(age) { this.age = age; }}var p = new Person("Tony",29);
方式三
- 大括号封装一个实体
- 实体内有键值对
- ”Key”:”Value”
- key可以是字符串,数字等
- Value可以是字符串,数字,函数等
- ”Key”:”Value”
- 调用方式
- 对象.属性
- 对象[“属性”]
var person = { "name":"Steve","age":31, "getName";function() { return this.name; }}alert(pp.age);
复杂的方式三
var myMap= { names:[{name1:"aaa"},{myname:"bbb"}]}alert(myMap.names[0.name1]);
阅读全文
0 0
- JavaScript笔记
- Javascript笔记
- javascript笔记
- javascript 笔记
- javascript笔记
- javascript笔记
- JavaScript 笔记
- JavaScript笔记
- javascript 笔记
- javascript 笔记
- JavaScript笔记.
- JavaScript笔记
- JavaScript 笔记
- javascript笔记
- javascript笔记
- Javascript笔记
- Javascript笔记
- javascript笔记
- 2017.10.10 Perm 排列计数 失败总结
- Mysql5.7安装问题
- 如何限制 input type="text" 只能接受11位数字(手机号码)
- team leader的能力 分享
- java实现一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
- < 笔记 > JavaScript
- Ubuntu 10.10 解决vi中文乱码
- Decimal的用法简介
- vue2实现微信分享坑点
- JS中的算法与数据结构——集合(Set)
- 用caffe训练模型时每隔一定的迭代次数保存一次caffemodel(snapshot)
- vs 2017问题
- Framework学习(九)Broadcast的注册、发送和接收过程
- Android 中图片实现圆形显示