js基础知识(未完待续)
前言:由于打算学习ctf的web方向,所以开始补技术缺陷,已经更完html和css(更到够用就完结了,其余的以后再
继续,还需要js,mysql,以及php,今天就先开始js)
1 初识 javascript
1.1 js历史
看到js的历史时总能让我想起初二的那个暑假,距今天也有五年了,那时候第一次接触编程,学习的便是java,虽
然最后也没有继续学下去,但今天看见js的历史总能想起那段刚接触编程的时光,挺令人怀念。好了,停止感怀,
开始进入正题。
js是由布兰登艾奇再1995年利用10天完成涉及的,最后与sun公司合作后正式命名为javascript,简称js,虽然
javascript和java看起来很像,但从代码角度看这两个是没有什么关联的。
1.2 javascript是什么
1 js是世界上最流行的语言之一,是运行在客户端的脚本语言,而php则是服务器段的脚本语言。
2 js是脚本语言,不需要编译,在运行过程中由js解释器逐行解释并执行,不想c++等其余语言,需要先编译再运
行,所以不存在js编译器
3 现在也可以基于node.js技术进行服务器端编程,js最初产生的目的是伪类做表单动态校验,但随着实际的使
用,目前可以利用js进行网页特效,服务端开发(node.js)桌面程序,app,控制引荐-物联网,游戏开发等功能
html或者css是标记遇见。是用来决定网页外观,的js可以实现业务逻辑和也买你控制。相当于人的各种动作
1.3 浏览器执行js
浏览器由两部分组成,渲染引擎和js引擎。
渲染引擎: 是用来解析html和css的,俗称内核,比如谷歌浏览器的bink,老版本的webkit
js引擎: 也称js解释器,用来读取网页中的js代码,对其处理后运行,比如chrome浏览器的v8
浏览器并不会本身执行js代码,二十通过内置的js引擎来执行js代码,js引擎执行代码时进行逐行解释每一句源码,
转换为机器语言,然后由计算机去执行,所以javascript语言归为脚本语言。
1.4 js的组成
js由三部分组成,分别是javascript语法(ecmascript),页面文档对象模型(dom),浏览器对象模型(bom)
1.4.1 ECMAScript
ECMAScript 是由ecma国际(原欧洲计算机制造商协会)进行标准化的一门编程语言,这种语言在万维网上的应
用广泛,它往往被称为js或者JScript,但实际上后两者是ECMAScript语言的实现和扩展。
javascript是由网景公司发明的,Jscript是由微软公司发明的,二者区别不大。
ECMAscript规定了JS的编程语法和基础核心知识,是所有浏览器厂商共同遵守的一套JS语法工业标准。
1.4.2 DOM -文档对象模型
文档对象模型就是对页面中各种元素进行操作,是w3c组织推荐的处理可扩展标记语言的标准编程接口,通过dom
提供的接口 ,可以对页面上各种匀速进行操作,大小,位置,颜色等。
1.4.3 BOM-浏览器对象模型
BOM是之浏览器对象模型,它提供了独立于内容的,可以与浏览器窗口进行互动的对象结构。通过BOM可以从操
作浏览器敞口,比如弹出框,控制浏览器的跳转,获取分辨率等。
1.5 js初体验
js有三种书写位置,分别为行内,内嵌和外部。类比css的几种模式。
1.5.1 行内式
行内式写法就是将js内容写到元素属性中,例如onclick属性,可以在点击onclick所在的元素时执行onclik的属性
值,即js代码,具体实现如下
<input value="text" type="button" onclick="alert('1')//弹出1" />
执行的结果是点击text按钮后页面弹出1
1.5.2 内嵌式
js的内嵌式和css的内嵌式类似,css是在head标签中使用<style>标签来容纳css代码,而js则是在head标签中使
用<script>来容纳代码。具体实现如下
<script>
alert('2');//弹出2
</script>
1.5.3 外部式
与css的外部式类似,js的外部式也是调用js文件,调用的条件为在<script> 标签中添加src属性,src的属性值为
js文件的路径。具体实现如下
<script src="a.js"> </script>