js逆向基础1.简介,变量,操作符

一:什么JavaScript 

1.javascript是web开发人员必须学习的3门语言之一:

1.HTML定义了网页的内容.

2.CSS:描述了网页的布局(样式)比起网页的颜色,字体大小等等

3.JavaScript:控制了网页的行为

JavaScript是一门解释性的语言,所以需要一个解释器(笼统的说引擎)

常见的引擎介绍

2.DOM和BOM

BOM(Browser object Model)是指浏览器对象模型,它使得JavaScript有能力与浏览器进行“对话”

包含window (navigator,screen,history,location,弹出框等等)

DOM(Document Object Model)是指文档对象模型,通过它可以访问HTML文档中的所有元素

HTML:标签语言,是所有网页访问的入口,访问任何网站都必须最先返回一段html

CSS:(放在<style></style>)控制页面的布局(字体颜色等等)

二.第一行代码

1.常见文档页面代码

console.log("hello world") //在控制台输出hello world。

alert('hello world')//弹出括号内容的对话框只有确定键

da5ef6fc7aba419484c6cb7025b3081d.png

 

confirm("good")//有取消键的对话框,返回值为true

63c7fff9e5904b0094a3b175405877cf.png

 prompt("good")//带输入键的对话框,返回值是你输入的值

d8c04b77408e42fd92a6c738a1a1abad.png

document.write("<h1>标题</h1>") //在页面写入标题,注意会覆盖原有的内容。

d04ddc759667443b80fe48463fc4a7b1.png

document.write("<p id='demo'>段落</p>")//不会覆盖

x=document.getElementById("demo")//获取document中包含demo的整个标签也就是<p id='demo'>段落</p>

x.innerHTML="Hello JavaScript "//把获取的标签里的内容修改为"Hello JavaScript "

document.write(Date())//在文档页面写入当前时间

三.字面量

JavaScript字面量

在编程语言中一般固定的值称为字面量

数字(Number)字面量,可以是整数或小数或者是科学计数

字符串(String)字面量可以使用单引号或者波浪键那个引号

数组(Array)字面量,[1,2,3]用逗号分隔

对象(Object)字面量,{'a':1}

函数(function)字面量

四.JavaScript变量

JavaScript使用关键字var(注意会变量提升,函数内部用var定义不会提升),let,const定义变量,使用等号来为变量赋值

var x,y实际上挂载到window全局对象上

X=0; y=1

变量可以通过变量名访问。变量可以改变,字面量是固定的值。

五.JavaScript操作符就是运算符

赋值运算符:=,+,+=,-=,*=,/=,%=

算术运算符:+,-,*,%,/,++,--,

比较运算符:>,<,>=,<=,==(涉及隐式转换,不严格意义上的相等,如'1'==1,返回值为true),===(严格意义上的相等),!=,!==(同理区分严格意义上不想等)

三目运算符: a?1:2(a为真则返回1,否则返回2)

逻辑运算符:&&(与),||(或),!(非),注意进行的是逻辑判断,也就是真假,返回值后续会讲

移位运算符:<<,>>>,>>

在JavaScript中移位运算符<<对负数进行移位时,符号位保持不变,空出得位置会用0填充。

为什么右移会有(有无)符号之别,而左移没有?

95cf375e00e147778959f752666a4b2d.png

从图可以看出,有符号右移,如果为正数补充0,为负数则补充1,无符号右移则没有正负之分,补0就完事

逻辑位运算符(转化成二进制):^(按位异或, 相同为0.不同为1),&(按位与,可以理解成有假为假),|(按位或,有真为真),~(按位非,简便运算取相应的负数减1即可)。

1e3547974fd74d0881b635284415b141.png

六.操作符优先级 

3b426f3fef5b49e5b362e16039779172.png

能记住最好

 

eval就是把字符串当成代码去执行。

eg:原本var 是关键字,不能对它进行操作。

eval(var a=1)就是把var a=1当成字符串,而不是关键字啦。

JavaScript 有8种常见的数据类型:

基本类型:字符串(String),数字(Number),布尔(Boolean),空(null),未定义(undefined),Symbol (ES6新增)

引用类型:对象(Object),函数(function)

关键字:typeof 看数据类型

但是NULL例外,typeof null为Object,这个是js底层设计问题,类似还有:NaN===NaN为false 等

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值