渗透测试笔记之JavaScript基础(一)

一、基础语法

语句和表达式

Javascript程序的执行单位为行,一般情况下,每一行都是一条语句,执行的顺序也是按照一行一行的执行。语句视为了完成某个任务而进行的操作。

var a;

2 * 9

语句和表达式的区别主要在于表达式是为了达到返回值,而语句是为了执行某项操作。语句以分号结尾,表达式不需要分号结尾。

var a; //语句

2 * 9 //表达式

分号在Javascript中是可选的,但是建议语句总以分号结尾,因为Javascript引擎可能猜错语句的结尾。

注释
Javascript有两种注释,一种是单行注释,一种是多行注释,单行注释以//开始后面截止这行为止都为注释部分,多行注释是以/开始到/结束,中间所有的内容均为注释。

// 这是单行注释

/*
这是
多
行
注释
*/

标识符
标识符是在Jacascript中扮演各种语法的名称,比如变量的名称、函数的名称、属性的名称、参数等。标识符是区分大小写的,也就是说 a≠A。

标识符的定义范围可以是任何Unicode字符,但是第一个字符只能是Unicode字母、下划线_、美元符号$开头。如果是用其他字符开头,比如数字,Javascript引擎将会抛出错误。

var a_1;  //定义一个以字母开头的变量
var 1_a;   // 报错
//Uncaught SyntaxError:Invalid or unexpected token 

变量
变量是对值的引用,而变量名就是为了给这个引用起的名字,而为变量取名字的过程叫做 声明变量 ,下面的代码中就相当于定义了一个名为a的变量,然后把值1引用给变量,而给变量引用值的时候叫做变量赋值 。

var a;
a=1;
//或者
var a=1;
var a,b,c;

Javascript是一种动态类型的语言,变量的类型是没有限制的,也不需要提前声明变量是什么类型的,变量也可以随时更改类型,比如下面的变量先赋值了字符串,然后在赋值数值。

var a = 'hello';
a = 1;
a // 1

变量的类型
一共有两种变量,分别为全局变量和局部变量,局部变量只能在定义变量的局部才能访问,全局变量是任何程序内都可以访问的变量,变量能访问的范围称为作用域,而两种创建的方式是带声明关键字var和不带声明关键字var。

function a(){
    
    
  var a_value = 1;
}
a(); //执行函数a
a_value //无法访问局部变量,只能在a函数内进行范围
//Uncaught ReferenceError:a_value is not defined
function a(){
    
    
  a_value = 1;
}
a(); //执行函数a
a_value //1

变量提升
变量还存在变量提升,Javascript引擎会先解析代码,获取所有被声明的变量,然后再一行一行的运行,这个就意味着,声明变量之前访问该变量是可以访问的也不会报错,但是该变量只是被先声明了,但并没有赋值。

a
var a = 1;

猜你喜欢

转载自blog.csdn.net/qq_45090900/article/details/115129527