js数据类型

数据类型

Number类型:整数、小数、NaN(赋值|计算无法获得正确的结果)

String类型:定义在一对引号中,‘ ’|“ ”都可以

Boolean类型:true|false

Null 空类型:赋值|未得到值

Undefined未定义:(赋值|只声明不赋值存在默认值)

Object类型:键值对,用逗号分隔,最后一个不需要添加逗号,key和value都是字符串,key属性满足标识符命名规范可以省略‘ ’|“ ‘

typeof

typeof 数据|typeof(数据)返回数据类型

类型转换
显示类型转换:

通过其他方式|函数,手动让函数改变其类型

​ js中对象类型不参与数据转换,其他任意类型都可以转换成一下三种类型:

​ String(数据)|Number(数据)|Boolean(数据)

隐式类型转换:

目的不是为了改变数据类型,但是执行过程中会隐式改变类型。

逻辑运算符 &&和||

java中逻辑运算符两边操作数必须为boolean类型

js中逻辑运算符两边的操作数可以都是boolean,也可以有其他类型的数据参与,如果有,结果肯定为其中一个

​ && 一个为false就是false

​ 第一个操作数转为boolean,为false,结果就为第一个操作数的值

​ 为true,结果就为第二个操作数的值

​ ||一个为true就是true

​ 第一个操作数转为boolean,为true,结果就为第一个操作数的值

​ 为false,结果就为第二个操作数的值

块{}

java中{ }自成作用域

js中块{ }不是作用域,作用域只看function

数组
			var arr1 = new Array(1,"wo",null,undefined,true);//创建的同时赋值
			var arr2 = new Array();//构建一个空数组
			var arr3 = [20,"你",null];//字面量的创建方式
			arr1[0] = 1;
			arr1["hah"] = 20;
			console.log(arr1['hah']);//20
			console.log(arr1);//1,"wo",null,undefined,true

三种遍历:

for循环
for(var i=0;i < arr.length;i++){
	console.log(arr[i]);
}
for in
for(i in arr){
	console.log(arr[i]);
}

foreach

var3.forEach(function(value,index,array){
				console.log(value);//值
					console.log(index);//索引
						console.log(array);//数组
			})
this关键字

运行期间动态绑定对象

1)this所在的函数是否是通过new调用的,如果是,指向当前new的对象

2)this通过对象.函数名()使用,this指代当前调用的对象

3)this默认指代window对象,window 指全局对象

定义的全局变量,默认定义window对象的属性

定义全局函数,为window的功能

var a =5;
console.log(a);
console.log(this.a);
console.log(window.a);
var obj={
	a:12
	fn:function(b.c){
		console.log(this.a,b,c);
	}
	obj.fn();//12,undefined,undefined
	var v = obj.fn;
	v();//5,undefined,undefined
}
function Person(name,age){
	this.age= age;
	this.name = name;
}
var p1 = new Person("zhangsan",18);
var p2 = new Person("lisi",17);
console.log(p1);
console.log(p2);
var obj2={
	a:24
}
修改this指向:

call(新的对象,实参列表)

obj.fn.call(obj2,1,2);//24,1,2

apply(新的对象,参数)

obj.fn.apply(obj2,[7,8]);//24,7,8

()->才是调用

console.log(obj.fn);//不是直接调f(b.c){
								  	//console.log(this.a,b,c);
										//}
arguments内置对象

指代当前对象传递的实际参数

function func(){
	console.log(arguments.length);
}
func(1,2,3,4,5);//5
function f1(){
	console.log("我是函数f1");
	return function f2(){
		console.log("我是函数f2");
	}
  }
	console.log(f1());//我是函数f1+f2方法体
	f1()();//我是函数f1+我是函数f2
  console.log(f1()());//我是函数f1+我是函数f2+f2的返回值

需求:在外部想使用函数内部的资源|数据时,可以选择使用闭包

常用类

String

Math

Date

//获取时间日期

getFullYear()年,getmonth()月,getDate()日,getDay()周,getHours()时,getMinutes()分,getSeconds()秒

js中的对象

{ }代表对象

键值对形式的内容

键值对之间使用 ,进行间隔

key:value

key和value内容都是字符串

如果key符合标识符的命名规范.‘ ’可以省略

value可以为任意类型的数据

创建对象:

​ 1.字面量的创建方式{ }

使用对象的内容:

​ 1.对象.属性

​ 2.对象[’属性‘]—万能的

事件

通过某些行为触发js代码的执行,这个行为称为事件

分类事件:

​ 鼠标事件

​ 键盘事件

​ 焦点事件

​ 文档事件

​ 表单事件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值