学习js的第一周

232 阅读4分钟

总的来说,这周的进程没有那么快,还没有全身心投入进去,可能是刚到深圳还没有完全适应吧!从1月6号开始学习js,在b站上找了一个学习课程,每天看视频学习,这几天学的内容有:认识数据类型、数据类型转换、递增和递减运算符、逻辑运算符、赋值运算符、流程控制的三种结构、三元运算符、switch分支语句、对象的分类、返回值类型、构造函数的执行流程、原型prototype

希望下周能够掌握更多的知识点,能够更好的控制自己,自律一点、主动性强一些。

下面是我做的一部分笔记。

数据类型分类:
  • 简单数据类型:number,string,boolean,undefined,null
  • 复杂数据类型:object
数据类型转换(使用表单、prompt获取过来的的数据默认是字符串类型):
  1. 转化为字符串类型:
  • toString() 转成字符串 var num=1;alert(num,toString());
  • String()强制转换 转成字符串 var num=1;alert(String(num));
  • 加号拼接字符串 和字符串拼接的结果都是字符串 var num=1;alert(num+"我是");
  1. 转换为数字型
  • parselnt(string)函数 将string类型转成整数值型 parselnt('78')
  • parseFloat(string)函数 将string类型转成浮点数值型 parseFloat('78.21')
  • Number()强制转换函数 将string类型转换成数值型 Number('12')
  • js隐式转换(- * /) 利用算术运算隐式转换为数值型 consloe.log( '12'-0);
  1. 转换为布尔型
递增和递减运算符:

递增(++)、递减(--)放在变量前面时,我们可以称为前置递增(递减)运算符,放在变量后面时,我们可以称为后置递增(递减)运算符。

  • 后置自增:先表达式返回原值,后自加1*
           var age=10;
           console.log(age++  + 10);   //得到结果为20,a++为10
           console.log(age);      //结果为11
逻辑运算符:

&&(与) ||(或) !(非)

  • 逻辑与短路运算:如果表达式1结果为真,则返回表达式2,如果表达式1为假,则返回表达式1(假的:0 ‘’null undefined NaN)
  • 逻辑或短路运算:如果表达式1结果为真,则返回表达式1,如果表达式1为假,则返回表达式2
           var num = 0;
           console.log(123 || num++);   //结果为123,num++表达式未进行运算
           console.log(num);  //结果为0
三元运算符(条件运算符):就像写成一行的if-else表达式

语法是:a?b:c,其中a是条件, b是条件返回 true时要运行的代码, c 是条件返回 false时要运行的代码

例:用户输入一个数字,数字小于10则在这个数字前面补0,否则不做操作

             var time = prompt('请输入一个数字');
             var result = time <10? '0'+time : time;
             alert(result);

switch分支语句

语法结构:

switch(表达式){
   case value1:
     执行语句1break;
   case value2:
     执行语句2break;
    ....
    default:
        执行最后的语句;
 }
对象的分类
  • 1.内建对象
    • 由ES标椎中定义的对象,在任何的ES的实现中都可以使用 -比如,Math String Number Boolean Function Object....
  • 2.宿主对象
    • 由JS的运行环境提供的对象,目前来讲主要由浏览器提供的对象 -比如Bom Dom
  • 3.自定义对象
    • 由开发人员自己创建的对象 创建对象 var obj = new Object();
返回值类型
  • break; //使用break可以退出当前循环
  • continue; //用于跳过当次循环
  • return; //可以结束整个函数
构造函数的执行流程:
  • 1.立即创建一个新的对象
  • 2.将新建的对象设置为函数中的this,在构造函数中可以使用this来引用新建的对象
  • 3.逐执行函数中的代码
  • 4.将新建的对象作为返回值返回 使用同一个函数创建的对象,我们称为一类对象,也将一个构造函数称为一个类, 我们将通过一个函数创建的对象,称为该类的实例
原型prototype

我们所创建的每一个函数,解析器都会向函数中添加一个属性prototype

这个属性对应着一个对象,这个对象就是我们所谓的原型对象,如果函数作为普通函数调用prototype没有任何作用

当函数以构造函数形式调用时,他所创建的对象中都会有一个隐含的属性,指向该构造函数的原型对象,我们可以通过__proto__来访问该属性;当我们访问对象的一个属性或方法时,它会先在对象自身中寻找,如果有则直接使用, 如果没有则去原型对象中寻找,找到则直接使用

              function myclass(){}
              var mc = new myclass();
              var mc2 = new myclass();  //console.log(myclass.prototype);
              console.log(mc.__proto__==myclass.prototype);