js注意点

1.js代码可以写的位置

   ①script标签中

   ②html标签中

   ③外部引入的js文件中

   

2.在一对script的标签中有错误的js代码,那么该错误后面的js代码不会执行

3.如果第一对script的标签中有错误,不会影响后面的script标签中的js代码的执行

4.script标签在页面中可以出现多对

5.script标签一般放在body的标签的最后的,有的时候会在head标签中

  为什么放在body最后???

     ①因为,很多js都是在dom对象渲染完之后,对其进行绑定事件之类的操作,

         而浏览器解析html是从上倒下解析的,放在head中,先解析js文件,而dom

         树还没渲染的话是绑定不了事件的,也就是js相当于失效了。

     ②其次,js文件过大,下载速度过慢,页面没加载出来,影响用户体验。

6.如果script标签用来引用外部js,不要再在里面写js,要写另起一个script标签写

7.什么是变量,为什么要使用变量

   

8.数字交换3种方法

   

   

       

9.使用typeof获取变量的数据类型

   

10.原始数据类型number,string,boolean,null,undefined,object

     number:整数,小数

     string:一般用'  或 "括起来

     boolean: true (1) false(0)   性别 sex1=true; // 男 sex2=false; //女

     null:空类型,值只有一个:null,一个对象指向为空了,此时可以赋值为null

     undefined:未定义,值只有一个:undefined 

11.什么情况下的结果是undefined

     ①变量声明了,没有赋值。例:var  num;

     ②函数没有明确返回值,如果接受了,是undefined

12.NaN,如果一个变量的结果是undefined和一个数字进行计算,

     结果:NaN不是一个数字,也没有意义

13.console以字符串输出为 黑色,蓝色一般是数字

14.js中的一些进制表示

     var num = 10;     // 十进制

     var num2 = 012; // 八进制

     var num3 = 0x123;// 十六进制

15. Number类型有范围

      最大值:Number.MAX_VALUE

      最小值:Number.MIN_VALUE

      无穷大:Infinity

      无穷小:-Infinity

16.不要用 小数去验证小数

         

     

17.字符串个数 str.length

18.js中的转义符

     

19.使用 + 是字符串拼接,使用除+外的 -,*等时 如果是数字会将字符串转为

     数字(隐式转换)进行计算

20.其他类型转数字类型

     ①parseInt();  // 转整数

         

     ②parseFloat(); // 转小数

         

     ③Number(); // 转数字

         

21.其他类型转 字符串类型

     ① .toString()

          如果变量有意义使用这个

     ② String(num1)

          如果变量没有意义,使用这个

22.其他类型 转 布尔类型 Boolean(值);

     

23.== 不严格 === 严格  != 不严格 !== 严格

     不严格:值的比较

     严格:类型和值同时比较

     

24.Chrome调试

     

25.js数组

     数组:一组有序的数据

     作用:可以一次性存储多个数据

26.创建js数组的方式

     ①通过构造函数创建数组

         var arr = new Array(); // 没有数据,空数组

         arr = new Array(5);// 数组中有长度但没数据,数组中每个值都是undefined

         arr = new Array(1,2,3,4,5);// console出来[1,2,3,4,5]

     ②通过字面量的方式创建数组

         var arr = [];

27.数组里面存的数据类型可以不一样,但是一般我们都放同类型的

28.求数组中最大值

     

29.冒泡排序

     

30.函数的定义

    function  函数名(形参){

       ....

    }

    形参:函数在定义的时候小括号例的变量叫形参

    实参:函数在调用的时候小括号里传入的参数叫实参

31.若果一个函数中有return,则这个函数就有返回值

32.匿名函数直接给变量

     var f2 = function () {

      };

     f2();

33.函数直接调用,只能用一次

     (function(){...})();

34.函数是有数据类型的,数据类型是function

35.函数可作为参数使用

     

36.函数可作为返回值使用

     

37.js中的全局变量和局部变量

     

     除了函数以外,其他位置定义的变量都是全局变量

38.作用域链

     

39.预解析    (只会提升变量和函数的声明,不会提升调用)

     what:就是在解析代码之前,把变量的声明提前了,函数的声明也会提前。

     会提前到当前所在的作用域的  最上面!!

     是将声明提前,声明是没有赋值的,所以undefined!!!

     

     

    

    预解析分段:

    

40.预解析案例

     

          

41.预解析变量和函数声明被同时提前的时候,总是变量在上面

42.隐式全局变量:声明的变量没有var,就叫隐式全局变量,无论是否在函数内

43.js不是面向对象的语言,但可以模拟面向对象的思想

     js是一门基于对象的语言

=====================JS对象===========================

1.创建对象的三种方式

   ①调用系统的构造函数

   ②自定义构造函数

   ③字面量的方式创建对象

   

   

   

2.自定义构造函数创建对象做了几件事

   

3.字面量方式创建对象

   

4.对象总结

   

5.设置,访问属性的另一种方法

   

6.JSON格式的数据及遍历

   

7.简单类型  和 复杂类型

   

======================JS内置对象======================

0.MDN 中 学习api

1.内置对象

   Math,Date,String,Array,Object

2.Math是个对象不是一个函数,学到原型会知道

3.实例对象,静态对象

   

  实例方法必须通过实例对象调用

  静态方法必须通过大写的对象调用

4.随机数Math.random();  // [0,1)

  

  

5.Math对象的案例

   

   

6.Date对象

   

   

   

   

7.格式化日期和时间

   

/**
 * 获取指定格式的时间  2018年08月07日 13:45:25
 * @param dt 日期的对象
 * @returns {string} 返回的是字符串的日期时间
 */
function getDate(dt) {
    //获取年
    var year = dt.getFullYear();
    //获取月
    var month = dt.getMonth() + 1;
    //获取日
    var day = dt.getDate();
    //获取小时
    var hour = dt.getHours();
    //获取分钟
    var minute = dt.getMinutes();
    //获取秒
    var second = dt.getSeconds();
    month = month < 10 ? "0" + month : month;
    day = day < 10 ? "0" + day : day;
    hour = hour < 10 ? "0" + hour : hour;
    minute = minute < 10 ? "0" + minute : minute;
    second = second < 10 ? "0" + second : second;
    return year + "年" + month + "月" + day + "日 " + hour + ":" + minute + ":" + second;
}

8.String对象

     

   

   

9.字符串特性:不可变形,字符串的值是不能改变的

    

    

    

10.字符串之所以看起来是改变了,那是因为指向改变了,并不是原来的值改变了

11. String方法

      

      

      

      

      

     

12.string案例

       

     

13.Array对象

     

     

     

     

     

     

     

     

     截取数组中某段 [  ,  )

      

      删除,替换,插入数组

      

14.基本包装类型 (string number boolean)

     普通变量不能直接调用属性或方法

     对象可以直接调用属性和方法

     

     

  如果是一个对象&&true,那么结果是true

  如果是一个true&&对象,那么结果是对象

     

     注意类型转换 和 基本包装类型的区别

     

猜你喜欢

转载自blog.csdn.net/github_38313789/article/details/81460590
今日推荐