js

一、变量提升

   变量提升是浏览器自身的一种功能,在运行js代码之前,浏览器会给js一个全局作用域叫window,window分为两个模块,一个是内存模块、一个是执行模块。内存模块找到在当前作用域下的var,function的关键字。执行模块就从上到下执行代码,遇到变量就会通过内存地址去查找这个变量,有没有这个变量。有这个变量、就看有没有赋值,如果赋值就是后面的值,如果没有赋值就是undefined,如果如果没有找到变量,就说这个变量is not defined。

二、{ }     在js我们把他叫代码块。如果代码块里的内容没有执行完,语句就不会向下执行,代码块是一个独立的整体,如果js中某一条语句出错,那么就会在此不会向下执行。

三、循环语句

   循环就是对一个整体进行逐个查找。   整体分为三步:1、从什么开始,2、查找的步长,3、结尾数字

   计算机对数据的计算不是从1开始,是从0开始,也就是说0代表第一个数据。

   for循环  for(){}

   

   我们最后发现i是5,但是i应该是for循环的代码块中的变量。但是for循环之外也可以使用,我们把这种现象叫做内存泄露。需要清内存。

   Js处理数据的目的就是将数据渲染到页面中,而渲染的数据的本质是字符串。

   其他数据的底层都是字符串。

   学习到最后,都是在处理数据,渲染数据的最本质方法就是字符串拼接。

   后期的数据渲染的方式都是由字符串衍变而成。

四、弹出框的三种形式

   alert()  警告框、输入框 prompt() 、确认框  confirm()

五、js的本质就是处理数据。数据来自于后台的数据库。所以变量就起到一个临时存储数据的作用。

  ECMAScript制定了js的数据类型。

    基本数据类型:字符串(String)数字(Number)布尔(Boolean)空(Null)、undefined

    引用(复合)数据类型:对象(Object)

              对象包括  Array 数组   json   function  函数  日期 数字对象等

  基本数据就是简单的赋值  ,引用数据类型是将数据的内存地址赋值给变量

六、js在执行前 浏览器会给他一个环境,叫window 全局作用域。Alert()  prompt()  confirm() 都是方法。

  怎么找这个方法和属性归属?

  1. arr.find()   find() 是arr的
  2. 没有带.   在谁的环境下 是谁的。

  判别变量的数据类型 typeof 变量名 返回的是数据类型

  在window下的方法和属性我们把他叫全局方法或全局属性。

七、js的全局属性

  1、eval()  将字符串转化为js代码

    表达式  带=的都叫表达式

    语句

    但凡从后台拿来的数据,都是字符串,不管张成什么样。

    Var a=”[12,23]”;   var a=”12”

    Eval()  括号里面必须填东西,并且必须是字符串,将这个字符串转换成对应的js代码。

    Eval(“alert(12)”)  ------> alert(12)

    Eval(“()”) 如果eval方法中带() 就会强制的将括号里的表达式转换成对象。

       尤其是{}  []  eval()里面必须加()

  2、isNaN()   is not a number 

    当()里面的东西不是数字的时候 返回true  是数字返回false

    isNaN() 具有隐式转换的功能

    隐式转换的有哪些   - * /  == isNaN()

  3、Number()

将东西强制转换为数字

  4、parseFloat()  

  5、parseInt()

  6、String()  将里面的内容转换成字符串

原文地址:https://www.cnblogs.com/bokeyanghao/p/9810479.html