函数和对象

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

一:当没有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=[]

时间: 2024-08-08 09:41:11

函数和对象的相关文章

javascript 函数与对象

javascript中的函数是非常重要的概念,也是比较难于理解的一个知识点! 下面就来聊聊函数: JS基于对象:什么是基于对象呢?简单的说所有代码都是"对象"; 比如函数: function person(){ } person();//1 调用函数; 比如变量: var  x=5; x=6     // 2 重新为x赋值; 上面的函数和变量都是对象:所有的函数都是Function类的对象,x是Number类的对象.相当于 var x=new Number(5): 注意: functi

python之attrgetter函数对对象排序

1 # 使用attrgetter函数对对象排序 3 # attrgetter处理对象,itemgetter处理序列 4 5 from operator import attrgetter 6 7 8 class user(): 9 def __init__(self, name, age): 10 self.name = name 11 self.age = age 12 13 def __repr__(self): 14 '''定义该对象需要输出时的字符串格式''' 15 return sel

JavaScript学习总结(二)——闭包、IIFE、apply、函数与对象

目录 一.闭包(Closure) 1.1.闭包相关的问题 1.2.理解闭包 二.对象 2.1.对象常量(字面量) 2.2.取值 2.3.枚举(遍历) 2.4.更新与添加 2.5.对象的原型 2.6.删除 2.7.封装 三.函数 3.1.参数对象 (arguments) 3.2.构造函数 3.3.函数调用 3.3.1.call 3.3.2.apply 3.3.3.caller 3.3.4.Callee 3.5.立即执行函数表达式 (IIFE) 3.5.1.匿名函数与匿名对象 3.5.2.函数与函数

2016.8.07 一个自欺欺人的代码(便于理解函数和对象)

之前在对象基础里,我说对象就像游戏里的一个人物,这个人物有血条,魔条,物理攻击力等等的基本属性,也有攻击等基本方法. 在这里,我就写一个小例子,是用来自欺欺人的.真的,随便玩玩就好,如果想认真的做一个回合制游戏,可以参考我这个代码. 不说了,直接上代码: function Person(o){ this.name= o.name; //名字 this.profession= o.profession;//职业 this.rank= o.rank; //等级 this.blood= o.blood

用工厂函数封装对象

工厂函数是在方法中建立一个Object空对象,然后再对此对象添加属性和方法,然后把Object对象返回 <html> <head> <title>工厂函数封装对象</title> <script type="text/javascript"> // 工厂函数模式封装对象 //特点:返回结果为对象的函数,在用工厂函数创建对象的时候,一定要new function fn(nianling){ var obj=new object(

JS函数和对象(一)

在本文章中,将对JS中的函数和对象进行一些讲解,不对之处还请之处 一.JS中的函数 1.1无参函数 其形式如下代码所示 function box(){ alert("我是一个函数,只有被调用才会执行"); } box(); 运行结果如图1.1 图1.1 1.2有参函数 有参函数其形式如下 function box(name,age){ alert("你的名字是"+name+",年龄为"+age); } box("李大宝",22

avaScript学习总结(二)——闭包、IIFE、apply、函数与对象 目录

一.闭包(Closure) 1.1.闭包相关的问题 请在页面中放10个div,每个div中放入字母a-j,当点击每一个div时显示索引号,如第1个div显示0,第10个显示9:方法:找到所有的div,for循环绑定事件. 示例代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>闭包</title> <style type="

1,对象的存储细节,2,#pragma mark指令,3,函数和对象方法的区别,4,对象和方法之间的关系 ,5.课堂习题

1,对象的存储细节, 1. 当创建一个对象的时候:Person *p1 = [Person new],做了三件事情: 1,申请堆内存空间: 2,给实例变量初始化: 3,返回所申请空间的首地址; 2. 实例变量保存在堆区 3. 对象方法保存在代码区 4. 一个类可以创建多个对象: 2,#pragma mark指令, 功能:对代码分组,方便代码查找和导航 使用格式: #pragma mark - #waring 等待处理的功能,或者是未完成的功能 3,函数和对象方法的区别, 一. 对象方法: -(v

理解javascript原型和作用域系列(2)——函数和对象的关系

上文(理解javascript原型和作用域系列(1)——一切都是对象)已经提到,函数就是对象的一种,因为通过instanceof函数可以判断. var fn = function () { }; console.log(fn instanceof Object); // true 对!函数是一种对象,但是函数却不像数组一样——你可以说数组是对象的一种,因为数组就像是对象的一个子集一样.但是函数与对象之间,却不仅仅是一种包含和被包含的关系,函数和对象之间的关系比较复杂,甚至有一点鸡生蛋蛋生鸡的逻辑

漫话javascript函数与对象的关系

javascript函数与对象的关系 一直觉得红宝书中的一句话特别经典"函数是对象,函数名是引用",揭示了函数就是对象的本质: 在javascirpt中有一类数据类型,我们通常称之为简单的数据类型,包含了常见的数字(Number),字符串(String),布尔值(true,false),以及常常让人难以琢磨和始料未及的null,undefined:除了这些之外的其他所有值我们都可以成为对象,虽然上述的几种简单的数据类型拥有方法或属性:但是他们不是可变的:在<javascript语