1JavaScript 的对象

1.1字符串

1.2Array对象

1.3Date对象

1.4Math对象

1.5Function对象(重点)

2 Bom对象

1   JavaScript对象

在JavaScript中除了null和undefined以外其他的数据类型都被定义成了对象,也可以用创建对象的方法定义变量,String、Math、Array、Date、RegExp都是JavaScript中重要的内置对象,在JavaScript程序大多数功能都是基于对象实现的。

1.1字符串对象

字符串对象创建2种方法:

 //字符串创建的方法
// var s='hello'
// var s1=new String('hello')

字符串对象的属性和函数(只有length是属性其余都是方法):

//属性和方法 一个属性是length其余都是方法
var s='helloworld'
// console.log(s.length)//包括字符串中的空格
// console.log(s.toUpperCase())//把字符串变成大写
// console.log(s.trim()) //去掉字符串两边的空格
// console.log(s.charAt(4))//通过索引找元素
// console.log(s.indexOf('l'))//通过字符找索引(找到第一个)
// console.log(s.lastIndexOf('h'))//通过字符找最后一个出现的字符的索引
// console.log(s.match('hehh'))//返回的是匹配到的字符串,如果没有返回的是null
// console.log(s.search('world'))//返回的是匹配到的字符串,出现的索引
// res=s.substr(1,8)
// console.log(typeof res)//返回的是截取到的字符串,1 是开始的索引,8是截取的长度。
// res=s.substring(1,4)
// console.log(typeof res)//返回的是截取到的字符串,1是开始索引,4取不到。又叫顾头不顾尾
// console.log(s.slice(1,4))//切片返回的是字符串,也是顾头不顾尾。
// res=s.split('w')
// console.log(typeof res)
// console.log(res[0],res[1])//返回的是数组类型,python中返回的列表
console.log(s.replace('l', 'fuck'))//替换一个函数 只能替换第一个字母,python中可以全部替换
// console.log(s.concat(''))//拼接字符串

1.2Array对象

创建数组的三种方式:

//数组对象的创建三种方式
// 创建方式一
// var arr=[11,22,33]
//创建方式二
// var arr=new Array(11,22,33)
//创建方式三
// var cnweek=new Array(7)
// cnweek[0]='星期日'
// cnweek[1]='星期一'
// cnweek[2]='星期二'
// cnweek[3]='星期三'
// cnweek[4]='星期四'
// cnweek[5]='星期五'
// cnweek[6]='星期六'

创建二维数组:

var cnweek=new Array(7);
for (var i=0;i<=6;i++){
cnweek[i]=new Array(2);
}
cnweek[0][0]="星期日";
cnweek[0][1]="Sunday";
cnweek[1][0]="星期一";
cnweek[1][1]="Monday";
...
cnweek[6][0]="星期六";
cnweek[6][1]="Saturday";

数组的属性和方法:

join方法:

数组方法
// ss=['jaljgljal']
// var arr=[11,22,33,88,2];
// console.log(arr[2]);
// join方法
// ret=arr.join('-')
// console.log(ret)

cocat方法:

 //concat方法
// var a=[2,4]
// console.log(a.concat(arr))
// console.log(a.toString())//变成字符串

reverse sort方法:

//reverse sort 方法
var arr=[11,22,33,88,2];
// console.log(arr.reverse())//翻转排序
// console.log(arr.sort())//按照acci码值进行排序[11,2,22,33,88]
// console.log(arr.sort(foo1))//这种方法可以按照大小排序[2,11,22,33,88]
//方法一
// function foo(x,y) {
// if(x>y){
// return 1
// }
// else if(x<y){
// return -1
// }
// else {
// return 0
// }
//
// }
//方法二
// function foo1(x,y){
// return x-y
// }

slice方法:

slice
// var arr=[11,22,33,88,2];
// console.log(arr.slice(1,3))//得到的结果[22,33]

删除数组

    //x. splice(start, deleteCount, value, ...)

//使用注解

//x代表数组对象
//splice的主要用途是对数组指定位置进行删除和插入
//start表示开始位置索引
//deleteCount删除数组元素的个数
//value表示在删除位置插入的数组元素
//value参数可以省略
// var a=[1,2,3,4,5,6,7]
// a.splice(1,2)
// console.log(a)//[1,4,5,6,7]
// console.log(a.toString(),typeof a)
// a.splice(1,0,2,3)
// console.log(a.toString())//[1,2,3,4,5,6,7]

push pop方法

 //push 和pop的用法这两个方法模拟的是一个栈操作

//x.push(value, ...)  压栈
//x.pop() 弹栈
//使用注解
//
//x代表数组对象
//value可以为字符串、数字、数组等任何值
//push是将value值添加到数组x的结尾
//pop是将数组x的最后一个元素删除
// var a=[1,2,3,4,5,6,7]
// ret=a.push(2,3)
// console.log(ret)//9
// console.log(a)//[1,2,3,4,5,6,7,2,3]
// ret1=a.pop()
// console.log(ret1)//pop 的值
// console.log(a)//去掉最后一个数值

unshift shift方法

     //x.unshift(value,...)
//x.shift()
//使用注解 //x代表数组对象
//value可以为字符串、数字、数组等任何值
//unshift是将value值插入到数组x的开始
//shift是将数组x的第一个元素删除
var arr=[1,2,3,4]
console.log(arr.unshift(4,5))
console.log(arr)//[4,5,1,2,3,4]
ret=arr.shift() console.log(ret)//[4]
console.log(arr)//[5,1,2,3,4]
 js中数组的特性
//java中数组的特性, 规定是什么类型的数组,就只能装什么类型.只有一种类型.
//js中的数组特性1: js中的数组可以装任意类型,没有任何限制.
//js中的数组特性2: js中的数组,长度是随着下标变化的.用到多长就有多长. 1.3Date对象
创建形式
var day=new Date()
Date对象的方法:
var day=new Date()
// console.log(day)
// console.log(day.toString())//变成字符串
// console.log(day.getDate()) //几号
// console.log(day.getDay())//周几
// console.log(day.getFullYear())//四位数的年表示形式
// console.log(day.getYear())//从1900开始到现在多少年117
// console.log(day.getMonth())//8月要加1月
// console.log(day.getTime())//返回累计毫秒(从1970年?1月/1午夜)
// console.log(day.getHours())//小时20小时
// console.log(day.getSeconds())//从获取秒数
// console.log(day.getMinutes())//获取分钟数

拼接日期:

    " 2012-12-12 12:12 星期三 "
//拼接日期
// var date=new Date()
// function foo(y) {
// var year=y.getFullYear()
// var month=y.getMonth()
// var day=y.getDate()
// var hours=y.getHours()
// var minth=y.getMinutes()
// var weeked=y.getDay()
// var ss=['星期日','星期一','星期二','星期三','星期四']
// return year+"-"+cc(month+1)+'-'+day+' '+hours+':'+minth+' '+ss[weeked]
//
// }
// function cc(x) {
// if(x<10) {return ''+x}
// else {return(x)}
//
// }
// console.log(ss)
// console.log(foo(date))

三元运算符:

  var i=+''
// console.log(i)//1
// console.log(typeof i )//num
// console.log(2>1?2:1)//三元运算符

设置日期与时间

//设置日期和时间
//setDate(day_of_month) 设置日
//setMonth (month) 设置月
//setFullYear (year) 设置年
//setHours (hour) 设置小时
//setMinutes (minute) 设置分钟
//setSeconds (second) 设置秒
//setMillliseconds (ms) 设置毫秒(0-999)
//setTime (allms) 设置累计毫秒(从1970/1/1午夜) var x=new Date();
x.setFullYear (1997); //设置年1997
x.setMonth(7); //设置月7
x.setDate(1); //设置日1
x.setHours(5); //设置小时5
x.setMinutes(12); //设置分钟12
x.setSeconds(54); //设置秒54
x.setMilliseconds(230); //设置毫秒230
document.write(x.toLocaleString( )+"<br>");
//返回1997年8月1日5点12分54秒 x.setTime(870409430000); //设置累计毫秒数
document.write(x.toLocaleString( )+"<br>");
//返回1997年8月1日12点23分50秒

日期与时间转换:

日期和时间的转换:

getTimezoneOffset():8个时区×15度×4分/度=480;
返回本地时间与GMT的时间差,以分钟为单位
toUTCString()
返回国际标准时间字符串
toLocalString()
返回本地格式时间字符串
Date.parse(x)
返回累计毫秒数(从1970/1/1午夜到本地时间)
Date.UTC(x)
返回累计毫秒数(从1970/1/1午夜到国际时间)

1.4Math对象

console.log(Math.max(11,22,66,99,789))
// console.log(Math.min(11,22,66,99,789))
// console.log(Math.ceil(89.4656513646))//向上取整
// console.log(Math.floor(89.4656513646))//向下取整
// console.log(Math.exp(0))//以e为底的指数
// console.log(Math.pow(2,3))//幂
var num=Math.random();//取0-1之间的数不包括1
num=num*100;
num=Math.round(num)//四舍五入
console.log(num)

1.5Function对象

函数的定义:

function 函数名 (参数){
<br>    函数体;
    return 返回值;
}

功能说明:

可以使用变量、常量或表达式作为函数调用的参数
函数由关键字function定义
函数名的定义规则与标识符一致,大小写是敏感的
返回值必须使用return
Function 类可以表示开发者定义的任何函数。

function  foo() {
// return console.log('ok')
// }
// var ret=foo()
// console.log(ret)

注:js的函数加载执行与python不同,它是整体加载完才会执行,所以执行函数放在函数声明上面或下面都可以:

<script>
//f(); --->OK function f(){
console.log("hello") } f() //----->OK
</script>

function对象的调用:

function func1(a,b){

    alert(a+b);
} func1(1,2); //3
func1(1,2,3);//3
func1(1); //NaN
func1(); //NaN //只要函数名写对即可,参数怎么填都不报错. -------------------面试题-----------
function a(a,b){
alert(a+b);
} var a=1;
var b=2;
a(a,b)

内置对象:arguments

function  add() {
// var sum=0;
// for (var i=0;i<arguments.length;i++)
// { console.log(arguments[i])
// sum+=arguments[i]
// }
// for(i in arguments) {//法二
// sum+=arguments[i]
// }
// return sum
// }
//
// ret=add(5,6,9,2)
// console.log(ret)

匿名函数

 (function(arg){
console.log(arg);
})('');
(function(){
alert("tony");
} )();

2 Bom对象

window对象

所有浏览器都支持 window 对象。
概念上讲.一个html文档对应一个window对象.
功能上讲: 控制浏览器窗口的.
使用上讲: window对象不需要创建对象,直接使用即可.
alert()            显示带有一段消息和一个确认按钮的警告框。
confirm() 显示带有一段消息以及确认按钮和取消按钮的对话框。
prompt() 显示可提示用户输入的对话框。 open() 打开一个新的浏览器窗口或查找一个已命名的窗口。
close() 关闭浏览器窗口。 setInterval() 按照指定的周期(以毫秒计)来调用函数或计算表达式。
clearInterval() 取消由 setInterval() 设置的 timeout。
setTimeout() 在指定的毫秒数后调用函数或计算表达式。
clearTimeout() 取消由 setTimeout() 方法设置的 timeout。
scrollTo() 把内容滚动到指定的坐标。
 function foo() {
var date=new Date();
var date=date.toLocaleString(); var ele=document.getElementById("timer");
ele.value=date;
} var ID;
function begin() { if (ID==undefined){
foo();
ID=setInterval(foo,1000); var ele=document.getElementById("show");
ele.disabled="disabled"
} } function end() {
clearInterval(ID);
ID=0;
}

js对象属性与Bom的更多相关文章

  1. js对象属性 通过点(.) 和 方括号([]) 的不同之处

    //    js对象属性 通过点(.) 和 方括号([]) 的不同之处 //    1.点操作符: 静态的.右侧必须是一个以属性名称命名的简单标识符.属性名用一个标识符来表示.标识符必须直接出现再js ...

  2. JS对象属性命名规则

    JS标识符的命名规则,即变量的命名规则: 标识符只能由字母.数字.下划线和'$'组成 数字不可以作为标识符的首字符 对象属性的命名规则 通过[]操作符为对象添加属性时,属性名称可以是任何字符串(包括只 ...

  3. js对象属性方法大总结(收集)

    数组(Array):系列元素的有序集合: 详细演示请看:[js入门系列演示·数组 ] http://www.cnblogs.com/thcjp/archive/2006/08/04/467761.ht ...

  4. js对象属性名以数字开头如何获取、js属性名以数字开头、missing ) after argument list

    js对象中属性名以数字开头引发的报错 :missing ) after argument list var ChineseDistricts = { : { : '北京市', : '天津市', : ' ...

  5. js对象属性方法大总结

    数组(Array):系列元素的有序集合: 详细演示请看:[js入门系列演示·数组 ] http://www.cnblogs.com/thcjp/archive/2006/08/04/467761.ht ...

  6. js对象转换为json格式时,js对象属性中有值为null和undefined注意事项

    当属性值为null时: 当属性值为undefined时: 只有当属性值为未定义时, js对象转换成json格式时会忽略该属性.

  7. js 对象属性遍历

    function 对象属性遍历(){ var obj = {x:1,y:2,c:3};for (var name in obj){ alert ( obj[name] )} } function 数组 ...

  8. js对象属性—枚举、检查、删除

    前言 我们经常需要操作对象的属性.这里记录ES5中操作对象属性的API和它们之间的差异. 枚举属性 for/in遍历对象中的所有可枚举属性(包括自有属性和继承属性) var obj = {name:& ...

  9. JS 对象属性名排序

    问题,对象属性名排序,如: var data = { A:[], D:[], B:{} } 调整为=> var data = { A:[], B:[], D:{} } 方法一: for,in,把 ...

随机推荐

  1. mysql查找一个字段属于哪个表

    查询mid字段存在于哪个表中 SELECT TABLE_SCHEMA,TABLE_NAME FROM information_schema.`COLUMNS` WHERE COLUMN_NAME='m ...

  2. python机器学习笔记 ID3决策树算法实战

    前面学习了决策树的算法原理,这里继续对代码进行深入学习,并掌握ID3的算法实践过程. ID3算法是一种贪心算法,用来构造决策树,ID3算法起源于概念学习系统(CLS),以信息熵的下降速度为选取测试属性 ...

  3. BizTalk Orchestration execute Flat file disassembler ReceivePipeline

    需求是这样,在一个inbound XML中有个一点节点使用平文件的方式存放,还要解析比如固定长度或根据特殊字符截取字段 也就是需要在流程里面先把输入的XML的节点先读出来,这个方式有很多可以直接升级属 ...

  4. Java基础之循环语句、条件语句、switch case 语句

    Java 循环结构 - for, while 及 do...while 顺序结构的程序语句只能被执行一次.如果您想要同样的操作执行多次,,就需要使用循环结构. Java中有三种主要的循环结构: whi ...

  5. 解决System.Data.SqlClient.SqlException (0x80131904): Timeout 时间已到的问题

    这段时间写Android和IOS服务时 sql数据库查询有数据正常,没数据总是报异常:System.Data.SqlClient.SqlException (0x80131904): Timeout ...

  6. 还需要注册的是我们还有一个是“交差集” cross join, 这种Join没有办法用文式图表示,因为其就是把表A和表B的数据进行一个N*M的组合,即笛卡尔积。表达式如下:

             还需要注册的是我们还有一个是"交差集" cross join, 这种Join没有办法用文式图表示,因为其就是把表A和表B的数据进行一个N*M的组合,即笛卡尔积.表 ...

  7. [PHP] 数据结构-链表创建-插入-删除-查找的PHP实现

    链表获取元素1.声明结点p指向链表第一个结点,j初始化1开始2.j<i,p指向下一结点,因为此时p是指向的p的next,因此不需要等于3.如果到末尾了,p还为null,就是没有查找到 插入元素1 ...

  8. 【高并发解决方案】7、HAProxy安装和配置

    简介 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案. HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要 ...

  9. 【Java并发编程】6、volatile关键字解析&内存模型&并发编程中三概念

    volatile这个关键字可能很多朋友都听说过,或许也都用过.在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果.在Java 5之后,volatile关键字才得以 ...

  10. 【读书笔记】iOS-iOS安全基础知识

    一,iOS硬件/设备的类型. iPad的问世,就是在这一方向上迈出的第一步.第一代iPad使用了ARM Cortex-A8架构的CUP,它的速度大约是第一代iPhone所使用CPU速度的两倍. iPa ...