javaScript

1:js基础

1.1:js的组成

在这里插入图片描述

1.2:js书写位置

行内式:<input type="button" value="点我试试" onclick="alert('Hello World')" />

内嵌式:<script>
          alert('Hello  World~!');
       </script>
       
外部JS文件: <script src="my.js"></script>    			      

1.3:输入输出语句

方法描述
alert(msg)浏览器弹出警示框
console.log(msg)浏览器控制台打印输出信息

1.4:数据类型

在这里插入图片描述

1.4.1:获取变量数据类型

typeof 可用来获取检测变量的数据类型
在这里插入图片描述

1.4.2:数据类型转换

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2:数组

js中创建数组有两种方式:

利用  new 创建数组  
	var 数组名 = new Array()var arr = new Array();   // 创建一个新的空数组

利用数组字面量创建数组
	//1. 使用数组字面量方式创建空的数组
	var  数组名 = []//2. 使用数组字面量方式创建带初始值的数组
	var  数组名 = ['小白','小黑','大黄','瑞奇'];

3:函数

函数的两种声明方式

1:利用函数关键字 function
    // 声明函数
	function 函数名(){
    	...
    	return  需要返回的值;
	}
	// 调用函数
	函数名(); 

2:函数表达式方式(匿名函数)
	var fn = function(){...}// 调用的方式,函数调用必须写到函数体下面
	fn();

4:对象

4.1:创建对象的三种方式

1:利用字面量创建对象 
	var star = {
    	name : 'pink',
    	age : 18,
    	sex : '男',
    	sayHi : function(){
        	alert('大家好啊~');
    	}
	};
	console.log(star.name)     // 调用名字属性
	console.log(star['name'])  // 调用名字属性
	star.sayHi();              // 调用 sayHi 方法

2:利用 new Object 创建对象 
	var andy = new Obect();   //创建空对象
	andy.name = 'pink';       //给空对象添加属性和方法
	andy.age = 18;
	andy.sex = '男';
	andy.sayHi = function(){
    	alert('大家好啊~');
	}
3:利用构造函数创建对象
	function 构造函数名(形参1,形参2,形参3) {    //构造函数的封装格式
     	this.属性名1 = 参数1;
     	this.属性名2 = 参数2;
     	this.属性名3 = 参数3;
     	this.方法名 = 函数体;
	}  
	var obj = new 构造函数名(实参1,实参2,实参3)       //构造函数的调用格式

4.2:遍历对象

for…in 语句用于对数组或者对象的属性进行循环操作。

for (var k in obj) {
    console.log(k);      // 这里的 k 是属性名
    console.log(obj[k]); // 这里的 obj[k] 是属性值
}

5:作用域

全局作用域:整个 script 标签内部或者一个独立的 js 文件。
局部作用域:作用于函数内的代码环境,就是局部作用域。
JS没有块级作用域

变量的作用域:
全局变量:在全局作用域下声明的变量叫做全局变量(在函数外部定义的变量)。
局部变量:在局部作用域下声明的变量叫做局部变量(在函数内部定义的变量)。

作用域链:
只要是代码都一个作用域中,写在函数内部的局部作用域,未写在任何函数内部即在全局作用域中;如果函数中还有函数,那么在这个作用域中就又可以诞生一个作用域;根据在**[内部函数可以访问外部函数变量]**的这种机制,用链式查找决定哪些数据能被内部函数访问,就称作作用域链

作用域链:采取就近原则的方式来查找变量最终的值。
在这里插入图片描述

6:预解析

JavaScript 解析器在运行 JavaScript 代码的时候分为两步:预解析和代码执行。
预解析:在当前作用域下, JS 代码执行之前,浏览器会默认把带有 var 和 function 声明的变量在内 存中进行提前声明或者定义,预解析会把变量和函数的声明在代码执行之前执行完成

7:面向对象

7.1:类

注意: 方法之间不能加逗号分隔,同时方法不需要添加 function 关键字。

class Person {
 constructor(name,age) { // constructor 构造器或者构造函数
 this.name = name;
 this.age = age;
 }
 say() {  //方法
 console.log(this.name + '你好');
 }
} 

var ldh = new Person('刘', 18);//创建实例
ldh.say()    

7.2:类的继承

class Father {
 constructor(surname) {
 this.surname= surname;
 }
 say() {
 console.log('你的姓是' + this.surname);
 }
}
class Son extends Father{ // 这样子类就继承了父类的属性和方法
}
var damao= new Son('刘');
damao.say(); 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值