函数和对象

上次说到函数,其中还有一些要注意的地方,其中返回值这块就很重要,必须要弄明白是怎么回事,每个函数都有默认值,那返回值我们大概可以分为这几类。

一:当没有return时,函数其实还是有返回值的,他的返回值默认为undefined。

二:如果有return时,但后面没带数值,那他的返回值也是默认值undefined。

三:如果有return时,他的后面带了数值,那他的返回值就是后面带的数值。

还有使用return时注意,函数执行完return时,就会跳出函数,不会再执行return后面的程序,所有return后面不能加任何语句,加了也不会执行,还有就是最好让函数一直有个返回值,要么就一直不返回值。如果一个函数想要返回多个值,最好放在数组和对象中,不要写多个return。

还有函数有四种形式:

一:无参无返回值,他功能挺多的,一般用于代码的复用。

二:无参有返回值,

三:有参无返回值,函数中没有return,那他就没有真正实在的返回值,只有个默认的undefined。

四:有参有返回值,他的用处最多,到处都可以见到。

记住一点JS函数中没有重载(重载就是有两个相同的函数名,但参数,函数体不同),在JS中当出现两个相同函数名,不同参数,函数体时,后面一个会把前面一个覆盖,所有没有重载。

在JS中是没有块级作用域的,它只有全局作用域和局部作用域,那什么是全局作用域?什么是局部作用域?

全局作用域:是在整个script中都可以被访问的就是全局作用域。

局部作用域:函数就是个局部作用域,函数中的变量只能被函数访问到,函数以外的是访问不到的,但函数中如果变量前没加Var的变量也是全局变量。这点时特殊的,要记住。

函数的表达方式和函数的声明,我们要知道他们的区别:

相同点:他们的作用是相同的,都是调用函数。

不同点:(1)函数表达式中是没有函数名的,变量可以当做它的函数名,因为它是匿名函数。

    (2)在预解析时,会将函数声明提前到作用域前面,二函数表达式是不能提前到作用域前面的,他只会把变量提前到作用域前面。

    (3)函数声明中的函数可以再函数声明钱调用,二函数表达式中的函数只能在函数表达式之后调用。

还有一种叫自执行函数,它是刚定义好函数,就自己立马执行。

函数中我所知道的内容大概就这些了,可能还有些深层的东西,我暂时还不了解,我也会继续深入了解,不进步等于在退步。

今天我用到了内置对象,那说说内置对象吧。内置对象就是系统帮我们定义好的对象。我用到了Math,date,arey.这些其实不难,都是现成的,我们直接拿过来用,我把平常经常用到的列一下:

Math的对象

一:向上取整 Math.ceil()

二:向下取整 Math.floor()

三:四舍五入 Math.round()

四:取0到1之间的随机数,1是娶不到的  Math.random()

五:a的b次方  Math.pow(a,b)

六:取最大值 Math.max()

七:取最小值 Math.min()

date对象

获取日期的和时间,国外和国内不同的。

国外一般用:date.toDateString和date.toTimeString

国内一般用:date.toLocalDateString和date.toLocalTimeString

日期的转换,它可以接受三种形式:(2015,10,1)(2015-10-1)(13位的数字)

date.parse 是把日期转换成13位数字。

想要获取当前时间一般有两种:

Var date=Date now()   这一般用在HTML5里

Var date=+new Date() 这个比较常用

日期格式化的方法有两种:toString  valueOf 

获取日期中指定部分:

getTime()      和valueOf的结果一样

getMillisecond()

getsecond()      返回0到59的数

getMinutes()    返回0到59的数

getHours()    返回0到23的数

getDate()    返回前月的第几天,当月的第几号

getDay()    返回周几,从0开始

getMonth()    返回月份,从0开始

getFULLYeall()  返回四位的年份

arrey对象

数组的转换:

toString()  把数组转换成字符串,每一项用逗号隔开

valueOf()  返回数组对象本身

操作数组:

join()将数组中元素链接成字符串

concat()链接两个数组

slice()从数组中截取一个新的数组,star从0开始,end从1开始。

splice(a,b,c)a是从第几个开始,b是删除几个,c是替换进去的项目。

追加删除前后项

push() 添加到数组的最后面

pop()删除数组中最后一个

shift()删除数组中最前一个

unshift()添加到数组的最前面

位置方法

indexOf()

lastIndexOf()

数组排序

reverse()将数组反转,不是返回一个副本,而是操作数组本身。

sort()即是数组也是按照字符大小,从小排列。

清空数组的三种方法:

array.splice(0,array.length)  删除数组中所有项目。

array.length=0

array=[]

原文地址:https://www.cnblogs.com/cykblogs/p/5727324.html