一、JavaScript(JS)
由网景公司(NetScape)在1995年发布
特点:
(1)在借鉴C语言的基本语法;
(2)借鉴Java语言的数据类型和内存管理;
(3)借鉴Scheme语言,将函数提升到-“第一公民”(first class)的地位;
(4)借鉴Felf语言,使用基于
原型(prototype)的继承机制。
借鉴了众多语言,为了让JS可以让更多人熟悉,可以很快地上手进行开发
二、面试提升的知识点
1.面向过程与面向对象
面向对象:封装、继承、多态
封装和继承都是为多态服务的
封装的实现:类(setter/getter 方法)
内部类,抽象类,使用继承建立连接关系,接口,枚举,泛型,反射等,尽量减少类型的出现;类型数量减少,内部建立连接关系,高内聚从而能达到少而精的目的,最终目的:修改和维护更加方便,内存的管理更加的轻松;
架构设计
几乎板书以上的设计模式都是在针对多态去操作的
在Java中通过多态简化类型的概念,让某个类具有多种表现形态
JavaScript弱化了Java的强类型概念,JS是弱类型的语言,var可以代表所有类型。
内存管理
Java中的弱引用,强引用,虚引用,软引用
都是针对垃圾回收机制,操作垃圾回收机制操作内存
采取某种引用机制,当对象不被引用时,会根据引用机制判断去采取垃圾回收,将该对象占据的内存空间空置出来
三、JavaScript的认识
1.JavaScript是一种网页编程技术
2.就是一种基于对象和事件驱动,并具有安全性能的脚本语言
3.JavaScript尅被嵌入到HTML文件中,不需要经过Web服务器就可以对用户操作作出相应
四、JavaScript的组成
ECMAScript:JavaScript的语法标准
DOM:JavaScript操作网页上的元素的API(JS操作HTML)
BOM:JavaScript操作浏览器的部分功能的API(浏览历史,打开新窗口,书签等)
五JavaScript的特点
1. 简单易用
可以使用任何文本编辑工具编写
2. 解释执行(解释语言)
事先不编译
逐行执行
无需进行严格的变量声明
3. 基于对象
内置大量现成对象,编写少量程序可以完成目标
<html>
<head>
<meta charset="UTF-8">
<title>js的使用</title>
<!--在head标签中内嵌JavaScript标签script-->
<!--<script>-->
<!--? //向html写字1.document.write();-->
<!--document.write("JS Hello My World");-->
<!--</script>-->
<!--//js使用3:外联式-->
<script src="js/js.js"></script>
</head>
<body>
<!--js使用2:将js的代码写在body中-->
<div id="div1"></div>
<script>
//获取显示区域:根据id获取标签
var showDiv=document.getElementById("div1");
//2.向html写字:innerHTML、innerText
showDiv.innerHTML="<h1>Hey Girl,you are so beautiful</a>";
// showDiv.innerHTML="I maybe look up you";
showDiv.innerText="You should let me be you boyfriehd.";
</script>
</body>
</html>
六、使用范围
客户端数据计算
客户端表单合法性验证
浏览器对象的调用
浏览器事件的触发
网页特殊显示效果制作
七、JS语法规范
1.与CSS类似,嵌入html的head标签
2.单独文件,在head标签中引用
八、通过js代码向html文档写入文字
1.document.write();
document指的是文档即当前html文档
2.有两个div,分别向里面写文字
为div设置id
在js代码中通过document.getElementById的方式获取到div对象
innerHTML (覆盖、替换)单独写入文本字、写入Html标签
innerText:写入文本内容
九、Js执行原理
html页面中出现
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
// alert("直接弹出");
//alert警告框会根据浏览器的不同显示出不同的样式
function showClick(){
alert("由点击事件触发的警告!");
}
function choose(){
confirm("你要狠心离开我了吗?");
var resultDiv=document.getElementById("show_click");
if(result ==true){
resultDiv.innerHTML="隔壁老王狠心抛弃了你";
}else{
resultDiv.innerHTML="不懈的挥一挥衣袖";
}
}
function btnClick(){
prompt("你是否还在爱着我,请回答我,我的baby");
}
</script>
<style>
#show_click{
width:200px;
height:100px;
border:2px dashed red;
}
.choose_dialog{
width:100px;
height:100px;
margin:20px;
background-color: black;
color:white;
}
</style>
</head>
<body>
<!--点击事件-->
<!--ps端,移动端的产品都会对用户提供鼠标点击或触屏操作的功能
网页要做出响应,这个响应就叫做点击事件
在html中,所有的标签都可以设置点击事件
用户鼠标点击时要给出回馈操作
1.定义标签,设置id
2.在js代码中提供点击函数
3.在标签描述中设置点击事件onclick为该点击函数
-->
<div id="show_click" onclick="showClick()">请触发点击事件</div>
<div class="choose_dialog" onclick="choose()">请再次确认您的选择</div>
<input type="button" value="请输入!"onclick="btnClick()"/>
</body>
</html>
十一、命名规范
变量必须以字符或下划线“_”开头
变量可以包含数字,从A至Z的大小字母
JavaScript严格区分大小写,computer和Computer是两个完全不同的变量
禁止使用JavaScript的保留关键字作为变量名。
十二、JS中的数据类型
简单(基本、值)数据类型
NUuber、Sring、Boolean、Undefined、Null
复杂(引用)数据类型(暂时了解)
Object、Array、Date等
查看当前变量的数据类型
typeof name
typeof(name)
十三、数字类型转换
1:将数字类型转换为字符串类型
隐式类型转换
强制类型转换(String(),变量.tostring() )
2:将字符串转换为数字类型
隐式类型转换
强制类型转换
(Number(),parseInt(),parseFloat())
3.将其他数据类型转换为布尔类型