安全js前置知识整理

本文主要介绍了JavaScript的基础语法,包括变量、变量提升、注释和三元运算符。接着详细讲解了window对象,包括self、frames和frameElement属性,以及alert、prompt和confirm方法。此外,还探讨了location对象的assign和replace方法,以及URL编码和解码的相关方法。通过这些内容,读者可以更好地理解JavaScript在前端安全中的应用。
摘要由CSDN通过智能技术生成

1.grammer

1.var

var a =1 局部变量(只有自己能拿到)或者定义为let

a=1 全局变量

var a ,b; 可声明多个变量

var a=1; a='hello'

上述知, java是一种动态类型语言,可随时更改类型。第二次赋值时,变量a已存在,所以无需在使用var命令

php/python/js 灵活的动态语言,java/c++静态语言

var x = 1; var x; x声明了两次,第二次无效

var x = 1; var x = 2; 第二次声明时进行赋值,会覆盖掉前面的值

2.变量提升

JavaScript 引擎的工作方式是,先解析代码,获取所有被声明的变量,然后再一行一行地运行。这造成的结果,就是所有的变量的声明语句,都会被提升到代码的头部,这就叫做变量提升(hoisting)。

console.log(a);

var a=1;

上面代码首先使用console.log方法,在控制台(console)显示变量a的值。这时变量a还没有声明和赋值,所以这是一种错误的做法,但是实际上不会报错。因为存在变量提升,真正运行的是下面的代码。

var a;
console.log(a); 先声明,没有赋值,所以是undefined的状态
a = 1;

3.注释
// 单行注释
/*
 多行
 注释
*/

JavaScript 可以兼容 HTML 代码的注释,所以<!---->也被视为合法的单行注释,如下:

x = 1; <!-- x = 2;  只有x=1会执行
--> x = 3;     -->只有在行首,才会被当成单行注释

在这里插入图片描述

function countdown(n) {
   
  while (n --> 0) console.log(n);-->当作n--,直到减为0
  }
  countdown(3)

在这里插入图片描述

4.三元运算符(也可用于逻辑判断)
(条件) ? 表达式1 : 表达式2   

上述代码中,如果“条件”为true,则返回“表达式1”的值,否则返回“表达式2”的值。

var even = (n % 2 === 0) ? true : false;
上面代码中,如果n可以被2整除,则even等于true,否则等于false
上述三元运算符与下方的if语句结果相等同
var even;
if (n % 2 === 0) {
   
  even = true;
} else {
   
  even = false;
}
var myVar;
console.log(
  myVar ?            判断有无值
  'myVar has a value' :   有值输出这个
  'myVar does not have a value'   无值输出这个
)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

噠噠噠@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值