巩固js(一)词法结构-保留字一

保留字一

break delete function return typeof
case do if switch var catch
else in this(单出一个讨论) void continue
false instanceof throw while debugger
finally new true with default
for null try

一、delete

作用是删除某一对象的属性
具体用法:delete 对象.属性
可以删除没有用var关键字声明的全局变量,因为是定义在window对象上的属性

注:1. 关键字返回的为布尔值,删除成功返回true
2.删除对象中不存在的属性,也返回true
3.删除对象中原型对象的属性(不能删除),返回true
4.无法删除使用var声明的全局变量,但是却可以删除直接定义在window上的属性

参考:
delete参考链接

二.return与void

主要作用:从当前函数退出,并返回一个值。
return [()[expression][]]
参数:expression是要从函数返回的值。如果省略,则不返回值

可以用return语句来终止一个函数的执行,并返回expression的值。如果expression被省略,或者函数内没有return语句的执行,则返回undefined赋给调用函数的表达式

return语句表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值,由return语句后面的参数指定。

如果此函数不需要返回值,就需要用void声明其类型。(如果是其他类型,就必须有返回值)
如果函数是void型,可以不写return,但是即使写了也是无法返回数值的

参考:
return参考链接

三.typeof与instanceof

typeof判断一个值的数值类型,一般返回的类型有:number string boolean undefined object function

注:array,null等特殊对象使用typeof一律返回object

1.instanceof用于判断一个变量是否属于某个对象的实例。

function Hi(){}
var hi = new Hi();
hi instanceof Hi //true

2.由于typeof对于某些类型的判断不准确(无论引用的什么类型的对象,都会返回object),instanceof也可以判断类型。

例如:

var myString = new String(123lallaa”);
console.log(myString instanceof String) //true

他判断的是mystring是否是String的实例,可以判断此变量中的数值类型为string

3.instanceof可以在继承关系中用来判断一个实例是否属于他的父类型

function Animal(){}
function Dog(){}
Dog.prototype = new Animal();//原型继承

var dog = new Dog()
dog instanceof Dog //true
dog instanceof Animal //true

instanceof复杂用法:涉及原型学习时再讨论

参考:
instanceof参考链接

四.try catch finally throw

这些用于处理代码中可能出现的错误信息:

try语句允许我们定义在执行时进行错误测试的代码块

catch语句允许我们定义当try代码块发生错误时,所执行的代码块

finally语句在try和catch之后无论有无异常都会执行

try{
	//尝试执行代码块
}
catch{
	//捕获错误代码块
}
finally{
	//无论结果如何都会执行的代码块
}

throw允许我们创建自定义错误(创建或抛出异常)

var x = document.getElementById(“hi”).value;
try{
	if(x == "")throw "值为空";
	}
catch(err){
	console.log("错误信息为"+ err);
}

上面检测变量x的值,如果符合错误条件,会抛出一个异常,catch会捕获这个错误,并显示一段自定义的错误信息

五.debugger

浏览器调试打断点(作用等同于浏览器Sources打断点)

function animal(){
	var name = "吼吼";
	debugger;
	var type = "dog";
	console.log(name);
}

六.new

创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例

过程:
1.创建一个新的对象
2.将this指向这个空对象
3. 赋值
4.返回此对象

七.with

用于设置代码在特定对象中的作用域

语法:

with(expression)statement

var a = obj.a;
var b = obj.b;
var c = obj.c;

等价于

with(obj){
	var a = a;
	var b = b;
	var c = c;
}

注:大量使用with会导致性能下降,不建议使用(学习了解)

八.in

prop in object

参数:
1.prop:一个字符串类型或者 symbol 类型的属性名或者数组索引(非symbol类型将会强制转为字符串)

2.object:检查它(或其原型链)是否包含具有指定名称的属性的对象。

作用:判断一个属性是否存在于一个对象或者他的原型链上

注:
1.使用delete删除一个属性,再使用in进行判断,会返回false
2.给某一属性赋值undefined,再使用in判断此属性,会返回true
3.如果一个属性是从原型链上继承下来的,也会返回true

参考:
in关键字参考

九.总结上面联合使用的关键字

switch(xxx){
	case x : xxx break;
	case x : xxx;
	default: xxx
}
void function(){
	var x = 1;
	return x;
}

void可省略(没有返回值加void)

do{

}while(){

}
if(){

}else if(){

}else{

}
for(var i =0;i<3;i++){
	break;//跳出循环
	continue;//跳出本次循环,继续下次循环
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值