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. 使用gitlab, jenkins搭建CI(持续集成)系统(3) -- 根据不同触发条件执行不同的构建任务

    前面在jenkins中安装的gitlab hook支持不同的参数,具体可以参考gitlab hook文档https://github.com/jenkinsci/gitlab-hook-plugin# ...

  2. Struts2之类型转换

    jsp提交的数据全部是String类型,Struts2也是通过request.getParameter(name)取得String类型的数据,并通过拦截器将String转换成各种类型的数据,然后通过g ...

  3. RockChip RK3326 系统编译问题总结

    1. 序言 本文主要记录了RK3326平台系统编译过程中遇到的各种问题,并加以解决! 环境: 宿主Linux:Ubuntu 16.04 目标机:RK3326 (64bit) Toolchain:gcc ...

  4. jQuery 【选择器】【动画】

    jQuery 是一个快速.简洁的JavaScript框架,它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作.事件处理.动画设计和Ajax交互. ...

  5. python学习之老男孩python全栈第九期_day001作业

    1.使用while循环输入 1 2 3 4 5 6     8 9 10 count = 0 while count <= 9: count += 1 if count == 7:continu ...

  6. Python 函数的作用域

    python中的作用域有4种: 名称 介绍 L local,局部作用域,函数中定义的变量: E enclosing,嵌套的父级函数的局部作用域,即包含此函数的上级函数的局部作用域,但不是全局的: B ...

  7. html/css学习笔记(一)

    ============================================================================================= 盒子模型 1 ...

  8. 听说你还不会用Dagger2?Dagger2 For Android最佳实践教程

    前言 Dagger2是现在非常火的一个依赖注入框架,目前由Google维护,在Github上面已经有12K star了.Dagger2的入门门槛其实是比较高的,据了解,目前有很多Android工程师对 ...

  9. Android系统启动流程 总结

    整体流程大致如下:   Android系统的启动,主要是指Android手机关机后,长按电源键后,Android手机开机的过程.从系统角度看,Android的启动程序可分为:   1.bootload ...

  10. CSS页面布局常见问题总结

    在前端开发中经常会碰到各种类型布局的网页,这要求我们对css网页布局非常熟悉.其中水平垂直居中布局,多列布局等经常会被使用到,今天就来解决一下css布局方面的问题. 水平垂直居中的几种方法 说到水平垂 ...