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. 经典面试题SALES TAXES思路分析和源码分享

    题目: SALES TAXES Basic sales tax is applicable at a rate of 10% on all goods, except books, food, and ...

  2. spring-boot-2.0.3源码篇 - 国际化

    前言 针对spring boot,网上已有很多优质的系列教程,我就不再班门弄斧了(实际上是担心没别人写的好,哈哈哈!).但是还是想蹭蹭spring boot的热度,即使不考虑微服务,spring bo ...

  3. Postman接口测试_添加断言

    1.设置环境变量 postman.setEnvironmentVariable("key", "value");  例子: postman.setEnviron ...

  4. python装饰器带括号和不带括号的语法和用法

    装饰器的写法补充: 通常装饰器的写法是@func(),而有的时候为了减少出错率,可能会写成@func,没有()括号,这时我们可以这样定义,来减少括号.下面通过两个例子还看. 一般装饰器的写法: def ...

  5. python中逻辑运算符“+”的特殊之处

    num = num + num 与 num += num 的区别(其他语言中这两种方式可以划等号,但是python中不可以): num = num + num: num = [100] def tes ...

  6. Sherman-Morrison公式及其应用

    Sherman-Morrison公式   Sherman-Morrison公式以 Jack Sherman 和 Winifred J. Morrison命名,在线性代数中,是求解逆矩阵的一种方法.本篇 ...

  7. 【转载】Sqlserver的SQL语句实现分页查询

    在应用程序的开发中,如果数据库中的数据量过于的庞大,则需要针对查询数据做分页处理,取出对应分页中的数据,在Sqlserver分页的语句写法中,有两种比较常用,一种是数据表中含有自增量Id的情况,可以根 ...

  8. IdentityServer4关于多客户端和API的最佳实践【含多类型客户端和API资源,以及客户端分组实践】【下】

    经过前两篇文章你已经知道了关于服务器搭建和客户端接入相关的基本资料,本文主要讲述整个授权系统所服务的对象,以ProtectApi资源为演示 目标: 1)实现多资源服务器针对请求的token校验,接入I ...

  9. 搜藏一个php文件上传类

    <?php /** * 上传文件类 * @param _path : 服务器文件存放路径 * @param _allowType : 允许上传的文件类型和所对应的MIME * @param _f ...

  10. oracle与mysql

    『创业团队最佳选择是Oracle+MongoDB,而不是MySQL』,当深蓝在QQ群里抛出这样的观点的时候,就像是在马蜂窝里丢了一串鞭炮一样热闹起来. 创业者甲: 开什么玩笑,Oracle要收钱的,太 ...