*javascript简要概述(一)

javascript简要概述(一)

JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML网页上使用,用来给HTML网页增加动态功能。大家可以在浏览器中直接运行,无需下载其他的编译器。对于懒得下载编译器的同学来说特别的友好,只要有浏览器就可以。ps:javascript和java没有半毛钱关系。
在前端中,主要包含html,css和javascript三部分,html负责画出网页框架,css负责网页样式,而Javascrip负责让网页动起来。
在html中,一般javascript写在标签中。


//这里xxxx为js文件名

javascript 变量
javascript和其他语言一样,都有全局变量和局部变量,在javascript中定义局部变量值前面加上var,以此来表示是局部变量,否则即认为是全局变量。

var i=1;
//这里i 表示局部变量
a=1
//a 为全局变量

javascript定义函数
在javascript中,定义函数的语法为function func(){}
具体分为普通函数,匿名函数和自执行函数
普通函数

function fun(){
var i=1;
console.log(i)
}
//其中fun为函数名,函数体写在{}中

匿名函数

function(){}
var ma=function(){
 console.log("11");     
 }

函数没有名字,可以通过var xxx=function(){函数体},xxx()调用函数。或者可以通过绑定事件来调用。

自执行函数

(function (){
console.log("123");})()

函数内部执行自身。通过()包裹住匿名函数,随后加()执行,可以看做是普通函数和匿名函数的结合。

变量作用域
js变量作用域,可以理解为这四句话。
1、与python相似,js作用域以函数作为作用域。例如:

function foo(){
var i=21;
}

其中i=21只在foo这个函数之间有作用域,在函数内,都是作用域。
2. 函数的作用域在函数未被调用之前已经创建。

function foo(){
    var i=21;
    }

函数foo的作用域在,在函数调用之前,已经创建,换句话说,就是函数创建完成后即已经创建完作用域。
3 函数的作用域的存在作用域链,并且作用域链也是在函数创建完成之后及创建完成。

   x=123
      function fun(){
          var x=456;
      function ff(){
          var x=678;
          console.log(x);
      }
      ff();
   }

此时已经形成一个作用域链,即但函数fun()执行时,在函数ff()里,console.log(x)会打印678,如果将var x=678注释掉,函数会打印456,将var x=456注释掉,会打印123 。隐隐之中貌似形成一条链。
4 函数内部局部变量提前声明

function dun(){
    console.log(xxx);
    var xxx=123;
    }

此时函数的输出结果为undefined,因为js解释器会自动检测函数中的局部变量,随后生成但不赋值。程序可以运行不会报错。
但是下列代码运行会报错

  function dun(){
        console.log(xxx);
     
        }

你可能感兴趣的:(js)