JavaScript函数&对象

Js函数:

JavaScript的函数理解为Java里面的方法,
把一些经常复用的代码,抽取出来封装在一个函数中。
提高程序的可读性,减少开发者的工作量,便于后期的维护。

js中函数的分类:

  1. 内置函数(JS提供的): console.log(); alert()  confirm  parseInt...  :
  2. 自定义函数(程序员自己写的)

其中自定义函数的声明语法如下:
                function  方法名(变量名,变量名...){
                    
                } 

调用:  方法名(参数列表);

函数定义与调用的编写顺序不分前后。
你可以先调用函数,再声明函数

声明示例:

           //声明一个无参函数
		   function a1(){
			   console.log(123);
		   }
		   
		   a1();
		   
		   
		   //声明一个指定个数的有参函数
		   function a2(a,b,c){
			   console.log(a+b+c);
		   }
		   a2(1,2,3);
		   
		   //声明一个若干个数的有参函数
		   function a3(... a){
			   for(var i = 0 ; i<a.length ; i++){
				   console.log(a[i]);
			   }
		   }
		   
		   a3(1,1.1,true,undefined,null,"你好");
		   
		   
		   //有返回值的函数
		   function a4(a,b){
			   return a + b;
		   }
		   var sum = a4(10,20);
		   alert(sum)

js变量作用域:

和Java一样 JS的变量也分为局部变量全局变量(Java的叫法是成员变量,只是概念和全局类似)

全局变量:在所有函数之外声明(script标签内部的最开始几行),它的作用域称为全局作用域,在同一个页面文件中的所有脚本内可以使用

局部变量:在函数体内利用var关键字声明的变量称为局部变量,仅在该函数体内有效。

函数表达式:

函数表达式指的是将函数赋值给变量的表达式,通过“变量名()”的方式即可完成函数的调用,小括号“()”内可以传入参数,示例代码如下。

            //函数的写法:
			function a1(a){
				console.log("我被调用了。参数是" + a)
			}
			a1(123);
			
			//函数表达式的写法:
			var abc = function (a){
				console.log("我被调用了。参数是" + a)
			};
			
			abc(567);

匿名函数:

没有函数名的函数  但是又拥有了变量名

匿名函数自调用:HTML页面解析之后 自动执行的一段代码.只会执行一次.

例如跳转网页之后提示:登录成功  加载成功。语法如下:

(function(){
alert("登录成功!!!");
})();

js对象:

在JavaScript中,对象属于复杂数据类型,它是由属性和方法组成的一个对象。

  • 属性是指对象的特征。
  • 方法是指对象的行为。

下面以学生的特征和行为为例进行说明。

  • 学生的特征:姓名、年龄和性别,这些特征可以用对象的属性来表示。
  • 学生的行为:打招呼、唱歌、写作业,这些行为可以用对象的方法来表示。

判断一个变量是否为对象的小技巧:

  • 通过console.log打印
  • 如果打印的是一行字符串 就说明是基本数据类型
  • 如果打印的是一个可以折叠的数据 就表示对象

创捷js对象:

方法1:

使用对象的字面量创建对象(理解为直接赋值)

例如:var arr = [1,2,3];,//静态声明数组 字面量创建
就是用大括号“{}”来标注对象成员,
每个对象成员使用键值对的形式保存,即 “key: value”的形式。
多个成员通过逗号隔开
键指的就是独一无二的属性   

方法2:

            //第一步:创建对象的函数(想象成Java的构造函数)
		   function Person(id,name,age){
			  this.id = id;
			  this.name = name;
			  this.age = age;
		    }
		    //第二步:new对象
		  var p1 = new Person(123,"王五" , 20);
		  console.log(p1);

使用场景:如果对象很多 就用方法2   反之方法1

方法3:

如果谁不知道给对象取什么名字,就叫做Object

var o = new Object();
o.id=1231;
o.name="李四";
console.log(o);

创建对象的补充:

如果一开始只知道有对象,但是不知道它有什么属性或属性值,那么可以先创建一个空对象壳子,后续再声明属性的同时进行赋值。

var s123 = {};
s123.id = 123;
s123.name = "Lisi";
s123.age = "男";
console.log(s123.id);//123
console.log(s123.dasd);//undefined

如何访问对象里面的值:

方法1:  通过对象名.属性名即可

console.log(student1.id + "~" + student1.name + "~" + student1.age );

方法2:通过对象名[属性名]

console.log(student1['sex-sex']);
console.log(student1['name']);

JS的参数传递:

也分为值传递引用传递

var a = 111;
var b = "你好";
var c = true;
var d = [1,2,3];
			
function change(a,b,c,d){
		a = 222;
		b = "我好";
		c = false;
		d[0] = 123;
}
			
change(a,b,c,d);
			
console.log(a);//111
console.log(b);//你好
console.log(c);//true
console.log(d[0]);//123

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值