JavaScript基础
javaScript历史
JavaScript是由Netscape公司(美国网景公司)开发的一种脚本语言,结构简单,使用方便,对用户自身知识水平要求并不高,操作容易,易上手。Netscape公司将这种脚本语言命名为LiveScript,它的整个语法以Java为基础(面向对象),但比Java要简单得多。同时,由于它是一种脚本语言,所以无需编译,可由浏览器直接解释运行,而不同于Java语言那样需要经过编译并解释运行。Netscape公司见LiveScript大有发展前途,而SUN公司(java)也觉得可以利用Livescript为Java的普及做铺垫,于是两家签订协议,将LiveScript改为JavaScript,造就了这个强大的WEB页开发工具。
基本了解
- 解释型语言(不需要编译成文件)可跨平台执行。
- JavaScript是单线程(以后我会在Java专栏中详细介绍线程,这儿先做个简单了解)。
- 插入到HTML页面中,由浏览器执行。
输出语句:
<script>
document.write("知乎是最好互联网的平台之一");
</script>
(1)<script></script>
具体写在<body>或者<head>中
(2)导入外部js文件
<script src="./index.js"></script>
浏览器的组成
- shell:外壳
- 内核:渲染引擎(语法规则和渲染),js引擎和其他模块。
作用
- 响应客户端鼠标和键盘事件
- 客户端页面表单数据验证
- 使用JavaScript动态的改变页面标签的样式
JavaScript与html,css关系
JavaScript是一种基于对象和事件驱动并具有安全性的解释性语言,其目的就是增强Web客户交互,弥补了HTML的缺陷。
为网页实现动态效果。
基本语法
- JavaScript语句:向浏览器发出命令,目的是告诉浏览器该做什么。
- 标识符必须以字母,下划线,美元符号开始
- JavaScript语言区别于SQL语言,严格区分大小写
- 注释
单行注释://
多行注释:/**/
快捷键实现多行注释:
ctrl + 反斜杠
数据类型
字符串 String
数字 Number
布尔 Boolean
数组 Array
对象 Object
空 null
未定义类型 可通过赋值为null的方法清楚变量
函数
类比于Java中的方法来理解,是由事件驱动的或者当它被调用时执行的可重复使用的代码块。
eg:求两个数字的和
1.定义函数
function sum(a,b) {
c = a+b;
alert(c);//弹出一个对话框
}
2.调用函数
sum(2,3);
- 定义函数
function 函数名() {
函数体;(代码块)
}
- 调用函数
(1) 在script标签中调用
(2) 在HTML文件中调用
<script>
function sum(a,b) {
c = a+b;
alert(c);
}
</script>
</head>
<body>
<input type="button" value="按钮" onclick="sum(12,13)">
</body>
- 带参函数
函数的调用中,也可以进行值传递,这些值我们称之为参数。
function d1(name) {
alert("my name is"+name);
}
<button onclick="d1('melody')"></button>
- 带返回值的函数
需要将函数返回给调用此函数的地方,通过return语句执行。
function d2() {
return("哈姆雷特的舅舅");
}
var v1 = d2();
alert(v1);
- 局部变量与全局变量
局部变量:声名在函数中。
全局变量:声名在函数外,任何地方都能使用。
异常
在执行JS代码时,发生了错误,导致程序停止运行。
异常抛出:当产生异常时,将这个异常信息进行捕获:
try {
发生异常的代码块;
}
catch(err){
错误信息处理;
}
throw语句:通过throw语句创建一个自定义错误。
<input id="t1" type="text">
<input id="t2" type="button" onclick="demo()" value="按钮">
function demo() {
var v = document.getElementById("t2").value;
try{
if(v==" "){
throw"please enter your number!"
}
}catch(err){
alert(err);
}
}