JavaScript的基础知识补习(1)

(声明:仅仅为博主的学习记录整理)

2018/8/15 杂乱整理


break和continue:

break可以用来退出switch或循环语句。
不能在if语句中使用break和continue。
但是注意以下情况,这种事跳出for循环而不是if,搞清楚。

forvar x=1 ; x<4 ; x++){
        document.write(x);   //输出:12
        if(i==3){
        break;       //在i=2时跳出for循环 
        }
    } 
/*但是若用continue放在break的位置,仅仅是跳过2这个结果,循环仍旧继*/

其中,虽然break和continue都是找最近的循环,但是他们也可以选择循环进行跳出。
这个就扯到label语句了,他可以让两个语句返回代码中特定的位置。
其用于嵌套循环,目的是减少循环次数。
我们来看例子。

//labelname: 循环语句
out:                          //外循环的名字 (labelname)
for(var x=1;x<10;x++){        //循环语句
  document.write(x);
      for(var y=1;y<3;x++){
          if(y=2){
            break out;        //这个时候break这一跳就全跳出去了
          }                   //因为break跳的是out这个外循环
      }                       //continue同理   
}

开根号了解一下:

/*开根号的问题*/

Math.sqrt();          //用于开平方根的
Math.sqrt(4);       // 2

Math.pow(27, 3);   //意思是求27的三次方 就是27*27*27的意思 
                    //由此我们可以得出
Math.pow(27,1/3);   //即 根号3下的27

对象(object):

基本数据类型:五个
String,Number,Boolean,Null,Undefined(对就这五个)
剩下的都是他了 ——> Object
基本数据类型都是单一的值,”hellp” 123 true
值之间没有任何的联系

对象的分类:
1.内建对象
由ES标准中定义的对象,在任何ES的实现中都可以使用
eg,Math String Number Boolean Function Object
2.宿主对象
由JS的运行环境提供的对象,目前主要是指由浏览器提供的对象
比如BOM,DOM
3.自定义对象
由开发人员自己创建的对象

对象属于一种符合的数据类型
创建对象:
1.使用new关键字调用的函数,是构造函数construction
2.构造函数是专门用来创建对象的函数
3.使用typeof检查一个对象时,会返回object

    /*
    *在对象中保存的值为属性
    *向对象添加属性
    *语法: 对象.属性名=属性值
    */
    var obj = new Object()
    obj.name = "bobby";
    obj.gender = "man";
    obj.age = "21";
    console.log(obj);
    /*控制台输出:
     *Object{name="bobby",gender="man",age="21"}
     */

读取对象中没有的属性,不会报错而是会返回undefined

扫描二维码关注公众号,回复: 2840935 查看本文章

删除对象属性:
delete 对象.属性名

属性名和属性值:
属性名:
-对象的属性名不强制要求遵守标识符的规范
-但是使用时尽量按照标识符的规范去做
-如果要使用特殊属性名,不能用.的方式来操作
需要使用另一种方式
语法: 对象[“属性名”] = 属性值
读取时也得采用这个方式
中括号中可以使用变量

in 运算符
-通过该运算符可以检查一个对象中是否有指定属性
语法:
“属性名” in 对象

基本和引用数据类型:
JS中的变量都是保存到栈内存中的
基本数据类型的值直接在栈内存中储存
值与值之间是独立保存的

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

var obj = new Object();
obj.name = s;
var obj2 = obj
obj.name = z;

堆内存中的name改变则输出时,obj2这边也跟着变












栈内存
obj 0x123(指向下面的那个空间)
obj2 0x123(指向下面的那个空间)




堆内存
0x123

注意引用数据类型对比的是地址,基本数据类型比值

var obj = new Object();
//两者相同
var obj = {};
//可以直接在创建对象时,直接指定对象中的属性
var obj2 = {
                name:"you",
                age:20,
                gender:"girl"
            };

猜你喜欢

转载自blog.csdn.net/qq_39317423/article/details/81714582