前端视频js基础

js官方文档:MDN

js分三个部分:ECMAScript:js的基本语法;DOM文档对象模型 ;BOM浏览器对象模型。

区别:如果变量有意义,即赋了值且不为null,就用.toString(),如果变量没有赋值或为空,就只能用String(),否则会报错,因为没有意义的东西是不可以调用.toString()的。通常我们都用toString()

注意:函数表达式赋值结束后要加上分号。 

  1. HTMLcss属于标记语言,js是编程语言,但不是真正的编程语言,编程语言不是在浏览器里执行的,是先编译成二进制语言,再执行。js不编译,是运行在客户端的脚本语言,脚本语言就是不需要编译,直接执行。
  2. typeof 变量名 或者typeof(变量名)可以获取变量的数据类型
  3. typeof(null)是一个对象。当变量被赋值为null的时候,指的是存储的是一个对象,对象没有任何指向。
  4. Number.MAX_VALUE数字的最大值,MIN_VALUE最小值
  5. 不要用小数去验证小数,不要用NaN 判断是不是NaN,用isNaN();
  6. isNaN(num)如果是数字,返回false 不是数字返回true;
  7. 除了+号,-*/和字符串连起来,就会隐式转换然后进行计算。
  8. 如果想让一个变量等于null,只有自己写var a=null
  9. 其它类型转字符串类型,有两种方式,1是主动调用.toString()方法,2是String()。
  10. 转布尔Boolean();1=true  0=false 其它正负数字都是true,"哈哈"=true  ""=false  null=false  undefined=false等于false有四种
  11. js中 / 得到的是小数,要parseInt()才可以取整。
  12.  != 是不严格的不等  !==是严格的不等。
  13. 字面量:把一个直接赋值个一个变量。
  14. 调试代码:F12-source-双击文件-代码前打断点。刷新页面开始调试
  15. 创建数组方式:1通过构造函数var arr=new Array();如果传入一个数值3,就是[undefined,undefined,undefined],传入多个3,4,5就是[3,4,5],不传的话为[]     2.字面量方式:var arr=[];var arr2=[3,4,5];
  16. 冒泡排序
    var arr=[10,0,100,20,60,30];
    //循环比较的轮数 n-1轮
    for(var i=0;i

     

  17. 编辑器太难用了,放弃。
  18. 函数形参可以不用写var,实参可以写多,多了自动忽略,少了就undefined
  19. 函数的专业注释:输入/**然后回车
  20. 斐波那契额数列:易懂版
    function getFib(num){//1 1 2 3 5 8 13 21 34 55
        var num1=1;
        var num2=1;
        var sum=0;
        for(var i=3;i<=num;i++){
            sum=num1+num2;
            num1=num2;
            num2=sum;
        }
        return sum;
    }
    console.log(getFib(12));//调用

     

  21. 判断一个年份是不是闰年:return year%4==0&&year%100!=0||year%400==0;

  22. 计算随便几个数字的和:arguments.length可以获取传入几个参数,是一个伪数组

    function f1(){
        var sum=0;
        for(var i=0;i

     

  23. 函数有两种定义方式:函数声明和函数表达式。匿名函数属于函数表达式,匿名函数不能直接调用,用变量接收,然后变量()就可以调用了。这个变量就是一个函数 比如:var f1=function(){}; f1(); 函数表达式是函数的另外一种定义方式。

  24. 函数两种定义的区别:1.函数声明如果重名了,后面的就会把前面的覆盖,因为预解析。函数表达式不会,因为执行的时候才会赋值。

  25. 函数的自调用:(function(){console.log("啦啦啦") } )();等同于:var f1=function(){}; f1(); 用处:如果想声明了就直接调用,就不用写函数名了,一次性的,也不会有冲突。

  26. 函数是有数据类型的,typeof f1    function

  27. 函数当参数:如果一个函数作为参数,就叫回调函数:function f1(fn) { fn() }     function f2() { console.log("哦,这也可以"); }       f1(f2);  传入f2是代表传的是f2函数的代码,如果传f2()就是传的函数的返回值,没有意义。
  28. 函数当返回值:

  29.  

  30. var dt=new Date();dt.valueOf();得到是毫秒数。 var dt2=new Date(dt.valueOf())得到的是日期

  31. 基本包装类型:由于普通变量是不能直接调用属性和方法的,对象才可以。所以当普通变量调用了属性或者方法时,自动转换成基本包装类型对象,变量就不在是普通类型了,还是基本包装类型。比如:var str="hello"; str.replace("ll","HH");  或 var number=10; number.toString();  

  32. string number boolean既是基本类型又是基本包装类型。即var number=new Number("10");//基本包装类型。

  33. 普通变量调用属性或者方法时,内部会这样:var str="hello"  —>   var str=new String("hello");

  34. 把数组直接清空:arr.length=0;

  35. new的执行过程中系统做了什么事情:1开辟空间存储创建的对象 2.this指向当前对象 3设置属性和方法。4返回当前新的对象

你可能感兴趣的:(js)