JavaScript入门之基础语法

基础语法

变量的声明:

			//声明变量一律使用var关键字,但var不是数据类型
			var age=12;//数字
			var name="Jim";//字符串
			name='Kate';//单引号双引号是等价的
			var flag=true;//布尔型
			var names=["Jim","Kate"];//数组
			var obj=new Object();//对象
			var a;//只声明,不赋值,为undefined
			console.log(a);
			var b=null;
			console.log(b);
			
			const c=120;//定义一个常量
			//c=100;//此时会报错,常量无法再次赋值
			
			var result=1/2;
			console.log(result);

比较(== 与 ===)

			console.log(5=='5');//仅看是否一样
			console.log(5==='5');
			console.log('5'==='5');//同时也比较类型是否相同

switch

			var week=1;
			switch (week){//也可以在每个case后加大括号
				case 1:{
					console.log("星期一");
					break;
				}
				default:
					console.log("无效");
					break;
			}

for循环(in与of)

			for (var index in names) {//获取数组各个元素下标
				console.log(index);
				console.log(names[index]);
			}
			
			for(var name of names){//获取数组的各个元素
				console.log(name);
			}

自定义对象

  1. 直接创建法
			var student=new Object();//直接创建一个对象
			//为此对象添加属性和方法
			student.name="Jim";
			student.doHomework=function(){
				console.log(this.name+"正在做作业。。。");
			}
			student.doHomework();
  1. 初始化法
			var student = {//在创建的时候直接将该对象初始化,为其添加属性和方法
				name:"Jack",
				age:12,
				doHomework:function(){
					console.log(this.name+"正在做作业。。。");
				},
				eat:function(){
					console.log(this.name+"正在吃东西。。。");
				}
			}
			student.eat();
  1. 构造方法
    缺点:由于构造方法本身也是一个方法,如果在它里面再定义其他的方法,会显得十分杂乱。
    优点:能够方便根据实际情况来创建属性值不同的对象。(此处可以创建name属性值不同的对象)
			function Student(name){//定义一个构造方法
				this.name=name;
				this.doHomework=function(){
					console.log(this.name+"正在做作业。。。");
				};
			}
			//调用构造方法来构建对象
			var student = new Student("Lily");
			student.doHomework();
  1. 原型式
    缺点:若想创建属性值不同的对象需要重新再定义此构造方法中的name属性。(此处需要重写一遍Student.prototype.name)
    优点:由于是在该构造方法外定义其内部的方法,所以看起来会比较整齐不杂乱。
			function Student(){//先定义一个构造方法但无任何内容(原型)
			}
			//后单独为该构造方法添加内容
			Student.prototype.name="Make";
			Student.prototype.doHomework=function(){
				console.log(this.name+"正在做作业。。。");
			}
			//再调用该构造方法构建对象
			var student = new Student();
			student.doHomework();
  1. 混合式
    结合了前两种的优点,将自定义的属性写在构造方法内,将对象中的其他方法写在构造方法外。
			function Student(name){
				this.name=name;
			}
			Student.prototype.doHomework=function(){
				console.log(this.name+"正在做作业。。。");
			}
			var student = new Student("John");
			student.doHomework();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值