- 博客(26)
- 资源 (1)
- 收藏
- 关注
原创 20 JavaScript和HTML交互
我们能够知道此时在页面中会产生一个按钮. 但是该按钮无论如何进行点击. 都不会触发任何事件. 但, 此时我要告诉你, 人家其实触发了. 只是你没处理而已. 在我们点击该按钮的时候. 浏览器其实收集到了点击事件. 但是由于我们没有给出任何。那么, 我们现在相当于可以从html转到JS中了. 并且在js中可以捕获到html中的内容了. 此时, 对应的表单验证也可以完成了.有效果了. 发现了么. 至此, 我们成功的实现了. 从HTML中调用JS的这条路打通了.mouseover 鼠标滑过。
2023-08-30 10:15:38 136
原创 19 JavaScript的hook
Hook技术又叫钩子函数,在系统没有调用该函数之前,钩子程序就捕获该消息,钩子函数先得到该函数的控制权,这时钩子函数既可以改变该函数的执行行为,还可以强制结束消息的传递,简单来说。我们可以控制执行函数的入参和出参。客户端拥有js的最高解释权,可以决定在任何的时候注入js服务器而无法左右,只能通过 检测和混淆手段令hook难度加大,但是却无法阻止hook。上面都是hook的系统函数. 但有时, 我们需要hook某个属性. 此时应该怎么办?hook的目的:找到函数入口以及一些参数的变化,便于分析js逻辑。
2023-08-30 10:08:20 195
原创 17 JavaScript 中的call和apply
对于咱们逆向工程师而言. 并不需要深入的理解call和apply的本质作用. 只需要知道这玩意执行起来的逻辑顺序是什么即可。apply和他几乎一模一样. 区别是: apply传递参数要求是一个数组。接下来, 我们可以使用call和apply也完成同样的函数调用。
2023-08-30 10:01:23 69
原创 15 JavaScript ES6中的箭头函数
如果箭头函数的函数体只有一句执行代码,简单返回某个变量或者返回一个简单的js表达式,可以省去函数体花括号{ }。如果箭头函数的函数体只有一条语句且不需要返回值(最常用于回调函数),加上void关键字。如果箭头函数的函数体只有一句代码,返回的不是变量和简单的js表达式,而是一个对象。箭头函数相当于匿名函数,并简化了函数定义。如果箭头函数有多个参数,将参数依次用逗号(,)分隔,包裹在括号中。函数的参数放在=>前面的括号中,函数体跟在=>后的花括号中.如果箭头函数有一个参数,也可以省去包裹参数的括号。
2023-08-23 09:38:00 57
原创 14 JavaScript神奇的windows
综上, 我们可以得出一个结论. 全局变量可以用window.xxx来表示.console.log(mm);ok. 接下来. 注意看了. 我要搞事情了。window是整个浏览器的全局作用域.window.mm = "爱你"
2023-08-22 13:52:22 33 1
原创 13 JavaScript 关于prototype(超重点)
注意. 在js代码执行时. 每一个function的对象都是通过Function()来创建的. 也就是说. 函数是Function()的对象.注意. 在js代码执行时. 每一个function的对象都是通过Function()来创建的. 也就是说. 函数是Function()的对象.. 在执行该对象的方法或者查找属性时. 首先, 对象自己是否存在该属性或者方法. 如果存在, 就执行自己的. 如果自己不存在. 就去找。能看到一些效果了是吧. 也就是说. 可以通过prototype给我们的对象增加一些功能.
2023-08-22 11:30:21 71 1
原创 12 JavaScript 关于eval函数
return p}('0.1(\'我爱你\')',62,2,'console|log'.split('|'),0,{}))那我想看看这个字符串长什么样?
2023-08-22 11:07:26 914 1
原创 8 JavaScript函数
在JS中声明函数和python差不多. 也要有一个关键字顶在前面. python是。后面必须跟上函数名. 这也为我们未来做逆向提供了第一个超大的伏笔.function 函数名(形参1, 形参2, 形参3....){// 除了写法换了一丢丢. 其他的东西和python完全一致,, 只不过在JS中没有像python那么死板, 必须。函数名(实参1, 实参2, 实参3....)return 返回值。, 到了JS里换成了。
2023-08-22 09:41:18 58 1
原创 7 JavaScript循环语句
/ 这种写法非常类似python中的for循环. 但是要注意. 这里的`i`拿到的仅仅是 `数组a`的索引信息.判断`条件`是否为真, 如果`真`, 则执行`循环体`.执行完`循环体`, 会再次判断`条件`....再然后, 判断`表达式2`执行的结果是否为`真`, 如果`真`, 则执行`循环体`然后, 判断`表达式2`得到的结果是否真, 如果`真`, 则执行循环体,先执行`循环体`, 然后判断`条件`是否成立, 如果成立.在来一次.直到, `表达式2`得到的结果是`假`, 则跳出循环。
2023-08-22 09:37:52 211 1
原创 6 JavaScript条件判断
除了HTML以外. 几乎所有的编程语言都有条件判断的功能. 比如, python, 我们用if语句来做条件判断. 到了javascript中也是一样的, 也使用javascript来做条件上的判断.
2023-08-22 09:34:00 105 1
原创 5 JavaScript的变量提升
看到了么. 实际运行的时候和我们写代码的顺序可能会不一样....这种把变量提前到代码块第一部分运行的逻辑被称为变量提升. 这在其他语言里是绝对没有的. 并且也不是什么好事情. 正常的逻辑不应该是这样的. 那么怎么办?在新的ES6中. 就明确了, 这样使用变量是不完善的. es6提出. 用let来声明变量. 就不会出现该问题了.显然一个变量被声明了两次. 这样也是不合理的. var本意是声明变量. 同一个东西. 被声明两次. 所以ES6规定. let声明的变量. 在同一个作用域内. 只能声明一次.
2023-08-21 17:40:17 45 1
原创 4 JavaScript数组和对象
在JS中创建数组非常简单. 直接[ ]即可. 也可以用正规军的new Array(). 不过效果都是一样的.从上述内容中几乎可以看到. JS对象的使用几乎是没有门槛的. 十分灵活。
2023-08-21 17:28:33 43 1
原创 3 JavaScript的字符串操作
关于null和undefined. 这两个会很容易混. 可以这样来记. null就是空对象. undefined就是空变量. 两者都可以表示空. 啥也没有. 本质其实是一样的. 都啥也干不了. 两者都可以当做false来看待就好了.s.lastIndexOf("xxx") 返回xxx的最后一次出现的索引位置,如果没有xxx. 则返回-1。s.indexOf('xxx') 返回xxx的索引位置, 如果没有xxx. 则返回-1。s.charAt(i) 第i索引位置的字符 s[i]
2023-08-21 17:07:25 45 1
原创 2 JavaScript的基础类型
JS虽然是一个脚本语言. 麻雀虽小, 五脏俱全. 在js中也是可以像其他编程语言一样. 声明变量, 条件判断, 流程控制等等. 我们先看一下JS中的数据类型。undefined, 这个表示未定义. 所有没有被定义过的东西默认都是该类型 类似像空一样的东西。boolean 布尔值, 只有两个, true和false. 注意不是大写T和F.object 对象, 这个比较特殊. 你可以理解为所有被new出来的东西都是对象。number 数字, 不论是整数还是小数, 数据类型都是number。
2023-08-21 17:03:39 45 1
原创 1 JavaScript的引入方式
JavaScript, 是一门能够运行在浏览器上的脚本语言. 简称JS. 首先, Javascript这个名字的由来就很有意思, 不少人认为Javascript和Java貌似很像. 容易想象成Java的脚本. 但其实不然, 两者之间没有任何关系. 纯粹是商业碰瓷.那么既然JS是可以运行在浏览器上的脚本. 并且, 我们知道本质上, 浏览器是执行HTML程序的. 那么如何在HTML中引入JS呢?两种方式运行出的效果是一致的. 但是需要各位注意一点, HTML程序在执行的时候是从上到下进行渲染的.
2023-08-21 16:53:18 81 1
原创 7 锚点的应用
锚点( anchor )是超链接的一种应用,也叫命名锚记,锚点可以像一个定位器一样,可以实现页面内的链接跳转,运用相当普遍。例如,我们有一个网页,由于内容太多,导致页面很长,而且里面的内容,可以分为N个部分。这样的话,我们就可以在网页的顶部设置一些锚点,这样便可以方便浏览者点击相应的锚点,到达本页内相应的位置,而不必在一个很长的网页里自行寻找。又例如,我们页面中,有个链接需要跳转到另一个页面的中间或者脚部去,这时候也可以运用上锚点技术来解决这个问题。
2023-08-21 16:39:47 117 1
原创 6 图片标签
在HTML中,图像由标签定义的,它可以用来加载图片到html网页中显示。src的值可以是本地计算机存储的图片的地址,也可以是网络上外部网站的图片的地址。如果src的值不正确,那么浏览器就无法正确的图片,而是显示一张裂图。指定图像的URL地址,是英文source的简写,表示引入资源。border属性:指定引入图片的边框宽度,默认为0。alt属性:指定图像无法显示时的替换文本。width属性: 指定引入图片的显示宽度。height属性:指定引入图片的显示高度。title属性:悬浮图片上的提示文字。
2023-08-18 14:13:07 39 1
原创 5 表单标签
表单主要是用来收集客户端提供的相关信息,提供了用户数据录入的方式,有多选、单选、单行文本、下拉列表等输入框,便于网站管理员收集用户的数据,是Web浏览器和Web服务器之间实现信息交流和数据传递的桥梁.表单被form标签包含,内部使用不同的表单元素来呈现不同的方式来供用户输入或选择。当用户输入好数据后,就可以把表单数据提交到服务器端。在HTML中创建表单用form标签。每个表单都可以包含一到多个表单域或按钮。
2023-08-18 12:37:02 65 1
原创 2 超链接标签
例如,在阅读某个网站时,遇到一个不认识的英文,你只要在这个单词上单击一下,即可跳转到它的翻译页面中,看完单词的解释后点一下返回按钮,又可继续阅读,这就是超链接的常见用途。超链接是浏览者和服务器的交互的主要手段,也叫超级链接或a链接,是网页中指向一个目标的连接关系,这个目标可以是网页、网页中的具体位置、图片、邮件地址、文件、应用程序等。2、网络链接指的是依靠网络来进行关联的地址,一般在地址前面是以 http://或者https://这样开头的,如果没有网络,则用户点击了超链接也无法访问对应的目标。
2023-08-18 11:07:01 51 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人