JavaScript基础回顾知识点记录2


  • js 使用嵌套for循环输出三角形
    image

          for(var i=0; i<5; i++){
              //正三角
            // for(var j=0; j<i+1; j++){
            //     document.write("*&nbsp;&nbsp;&nbsp;");
            // }
              // 倒三角
              for(var j=0; j<5-i; j++){
                  document.write("*&nbsp;&nbsp;&nbsp;");
              }
            document.write("<br />");
          }
    
  • js 中 break和continue只能在switch或循环语句中使用

    break: 默认会立即终止离它最近的那个循环语句。  后可以跟一个lable  表示指定终止某个for循环
    lable:循环语句  ( 给该循环语句命名)
    continue: 默认只对最近的循环语句跳出当前循环次数。 后可以跟一个lable  表示指定跳过某个for循环当前循环次数
    
    eg:
    outer:
    for(var i = 0; i<5; i++) {
        document.write("外层"+i);
        for(var j = 0; j<5; j++) {
            if(j=1){
                break/continue outer;
            }
            document.write("内存"+j);
        }
    }
    
    如果不在break/continue后加outer, 则默认终止/跳过内存for循环。
    
  • js 中 对象的基本操作

    // 使用构造函数来创建对象
    var obj = new Object(); 
    或者
    var obj = {name:"张三",age:18};  (创建的同时添加属性)
    // 给对象添加属性 (属性值可以是任意数据类型)
    obj.name = "张三";
    obj['sex'] = "男";
    
    //检查对象中是否含有某属性
    console.log("age" in obj);  // 有的话输出true 没有的话输出false
    
  • js 中 基本数据类型和引用数据类型的区别

    基本数据类型eg:
      var a = 1;
      var b = a;
      a++;
      console.log("a="+a); //a = 2
      console.log("b="+b); //b = 1
      
    引用数据类型eg:
      var a = new Object();
      a.age = 18;
      var b = a;
      a.age = 19;
      console.log(a.age); // 19
      console.log(b.age); // 19
      
    1、基本数据类型的值是存储在栈内存中,值与值之间独立存在,修改一个变量,其他变量不会改变
    2、引用数据类型(对象)的值是存储在堆内存中,每创建一个新的对象,就会在堆内存中开辟出一个新的空间,而
    变量保存的是对象的内存地址
    
  • js 中 函数的实参可以为任意数据类型。

  • js 中 立即执行函数(匿名函数),往往只执行一次

            (function(){
                alert('我是立即执行函数');
            })();
            
    
  • js 中 全局作用域下,创建的变量和函数都会作为window对象的属性和方法保存。

        <script type="text/javascript">
          var a = 1;
          console.log(a);    //1
          console.log(window.a);   //1
          function b() {
            console.log(2);
          }
          window.b();   //2
          b();    //2
        </script>
    
  • js 中 使用var声明的变量会在所有代码执行前声明。function 函数名(){} 会在所有代码执行前创建函数。

  • js 中 碰到大量定义有相同属性的对象时,可以使用工厂方法创建对象(构造函数一般是首字母大写,可以理解为类,然后实例化)。

            function Person(name,age) {
                this.name = name;
                this.age = age;
            }
            var obj2 = new Person("张三",18);
            var obj3 = new Person("李四",20);
            var obj4 = new Person("王五",24);
            console.log(obj2,obj3,obj4); //输出:{"age":18,"name":"张三"} {"age":20,"name":"李四"} {"age":24,"name":"王五"}
            
            检查obj2是否是Person类的一个实例
            console.log(obj2 instanceof Person);
            
    
  • js 中 原型对象

    • 什么是原型对象:我们创建的每个函数,解析器都会向函数中添加一个属性prototype,该属性对应着一个原型对象。
    • 如果作为普通函数调用,则没有用。如果是构造函数调用(即类的实例化),实例化的对象有一个隐含属性指向构造函数的原型对象。
    • 原型对象相当于一个公告区域,所有同一个类的实例都可以访问。可以将共通内容放置到原型对象中
    • 当访问一个属性或方法时,会现在对象自身中找,如果没有则去原型对象中找。
            function Person(name,age) {
                this.name = name;
                this.age = age;
            }
            Person.prototype.a = 1;
            Person.prototype.sayHello = function(){
              console.log('hello');
            }
            obj4.a = 2;
            var obj2 = new Person("张三",18);
            var obj3 = new Person("李三",19);
            var obj4 = new Person("王三",20);
            console.log(obj2.a);  //输出1
            console.log(obj3.a);  //输出1
            console.log(obj4.a);  //输出2
            obj2.sayHello();  //hello
      

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/279721.html

(0)
上一篇 2022年8月10日
下一篇 2022年8月10日

相关推荐

发表回复

登录后才能评论