JavaScript日记(四)基础知识

2.条件分支语句

if(条件表达式){

语句

}else{

    语句

}

————————————

if(条件表达式){

语句

}else if(条件表达式){

    语句

}else{

    语句

}

————————————

switch(条件表达式){

case表达式 :

    语句

    break;

case表达式 :

    语句

    break;

default :

    语句

    break;

}

执行流程:

在执行时会依次将case后表达式的值和switch后条件表达式的值进行全等比较,如果比较结果为true,则从当前case处开始执行代码,如果比较结果为false,则继续向下比较,break的作用是退出switch语句,如果所有比较结果都为false,则执行default语句

3.循环语句

while(条件表达式){

语句

//break;

}

————————————

do{

    语句

}while(条件表达式)

————————————

for(初始化表达式;条件表达式;更新表达式){

    语句

}

break关键字可以用来退出循环语句和switch语句,break和continue都默认对最近的循环产生影响,对if语句不起作用

可以为循环语句创建一个label用于标识当前循环:label:循环语句,使用break语句时,可以在break后跟着一个label,这样break会结束指定的循环,而不是最近的

label1:
for(var i=0;i<=5;i++){
    console.log("外层循环"+i);
    for(var j=0;j<=5;j++){
        break label1;
        console.log("内层循环"+j);
    }
}  //执行结果:外层循环0

continue关键字可以用来跳过当次循环

console.time(“计时器的名字”)可以用来开启一个计时器,它需要一个字符串作为参数,这个字符串将会作为计时器的标识,console.timeEnd(“计时器的名字”)用来终止计时器,此功能可以用来测试程序的性能

Math.sqrt(数字)可以对一个数开方

对象(类似一个容器):

1.内建对象

由ES标准定义的对象,在任何ES的实现中都可以使用,如:Math、String、Number、Boolean、Function、Object等

2.宿主对象

由JS的运行环境提供的对象,目前主要指由浏览器提供的对象,如:BOM、DOM,之前用到的console、document等也是宿主对象

3.自定义对象

由开发人员自己创建

//创建对象:
var obj=new Object();  //使用new关键字调用的函数是构造函数constructor,是专门用来创建对象的函数
//向对象添加属性:对象.属性名=属性值;
obj.name=”孙悟空”;
//读取对象中的属性:对象.属性名;
console.log(obj.name);  //输出“孙悟空”,如果读取对象中没有的属性不会报错,会返回undefined
//修改对象的属性值:对象.属性名=新值;
obj.name="tom";  //输出“tom”
//删除对象的属性:delete 对象.属性名
delete obj.name;
console.log(obj.name);  //运行结果:undefined

如果要使用特殊的属性名(例如数字):对象[属性名]=属性值;

var obj=new Object();
obj["123"]=456;
console.log(obj["123"]);  //运行结果:456

使用这种形式操作属性会更加灵活,可以在[]内传递一个变量,读取和变量的值相同的属性

var obj=new Object();
obj["123"]=456;
var n="123";
console.log(obj[n]);  //运行结果:456

JS对象的属性值可以是任意数据类型,甚至也可以是一个对象

in运算符可以检查一个对象中是否含有指定的属性,有返回true,没有返回false语法:“属性名” in 对象

//检查obj中是否含有test属性
console.log("test" in obj)  //输出false

JS中的变量都是保存到栈内存中的

基本数据类型的值直接在栈内存中存储,值与值之间独立存在,修改一个变量不会影响其他的变量

对象(引用数据类型)是保存到堆内存中的,每创建一个新的对象,就会在堆内存中开辟一块新的空间,而变量保存的是内存地址(对象的引用)

var obj=new Object();
obj.name="tom";
var obj2=obj;  //obj2与obj指向了同一块内存,所以修改obj的属性值obj2的属性值也会受影响
obj.name="lisa";
console.log(obj.name);  //结果为Lisa
console.log(obj2.name);  //结果为Lisa
obj2=null;  //切断obj2与地址的连接,但obj连接依然存在
console.log(obj.name);  //结果为[object  Object]
console.log(obj2.name);  //结果为null

将两个引用数据类型进行比较时,比较的是内存的地址,地址不同就会返回false

使用对象字面量创建一个对象:

var obj={};
obj.name="tom";
console.log(obj.name);  //输出“tom”

可以在创建对象时,直接指定对象中的属性:{属性名:属性值,属性名:属性值,... ...},对象字面量的属性名可以加引号也可以不加,建议不加,但如果要使用特殊的名字(例如12#@¥),则必须加引号。

var obj={
name:"tom",
gender:"male",
age:"18",
test:{name:"lisa"}  //test是一个对象
};
console.log(obj2);

(作者观看的学习视频:B站尚硅谷)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值