JS初学是指本人刚开始学习,这是个类似笔记的东西,里面可能有很多内容本人理解的不是特别准确,博客仅供参考
JS简介
JavaScript 是世界上最流行的编程语言
这门语言可用于 HTML 和 web,更可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备
JavaScript是脚本语言
JavaScript是一种轻量级的编程语言
JavaScript是可插入HTML页面的编程代码
JavaScript插入HTML页面后,可由所有的浏览器执行
JavaScript写入HTML输出实例:
<!DOCTYPE html>
<html>
<body>
<p>
JavaScript 能够直接写入 HTML 输出流中:
</p>
<script>
document.write("<h1>This is a heading</h1>");
document.write("<p>This is a paragraph.</p>");
</script>
</body>
</html>
页面会显示:
JavaScript 能够直接写入 HTML 输出流中:
This is a heading
This is a paragraph.
您只能在 HTML 输出流中使用 document.write。 如果您在文档已加载后使用它(比如在函数中),会覆盖整个文档
JavaScript对事件做出反应
<button type="button" onclick="alert('Welcome!')">点击这里</button>
页面会显示:
上面只是一些简单的JavaScript的介绍,接下来会进行真正的学习
JavaScript的使用
HTML 中的脚本必须位于 <script> 与 </script>
标签之间,脚本可被放置在 HTML 页面的 <body> 和 <head>
部分中,并且可以在 HTML 文档中放入不限数量的脚本,通常的做法是把函数放入 部分中,或者放在页面底部,这样就可以把它们安置到同一处位置,不会干扰页面的内容,页面看起来会有条理
例如:
<script>
alert("My First JavaScript");
</script>
<script></script>
会告诉你脚本在什么时候开始,什么时候结束
当然也可以把脚本保存到外部文件中(外部文件一般包含被多个网页使用的代码),外部JavaScript文件的文件扩展名是.js,使用外部文件的时候,在<script>
标签的“src”属性设置该.js文件,例如:
<script src="myScript.js"></script>
但是,外部脚本不能包含 <script>
标签!!!
JavaScript输出
JavaScript通常用来操纵HTML元素
如需从 JavaScript 访问某个 HTML 元素,您可以使用 document.getElementById(id) 方法,使用“id”来标识HTML元素
<!DOCTYPE html>
<html>
<body>
<h1>我的第一张网页</h1>
<p id="demo">我的第一个段落</p>
<script>
document.getElementById("demo").innerHTML="我的第一段 JavaScript";
</script>
</body>
</html>
这时在网页上显示的是“我的第一段 JavaScript”,而不是“我的第一个段落”,此过程是由Web浏览器来执行的
JavaScript可以直接把HTML元素写到HTML文档中输出:
<script>
document.write("<p>我的第一段 JavaScript</p>");
</script>
十分注意!!!!
使用 document.write() 仅仅向文档输出写内容,如果在文档已完成加载后执行 document.write,整个 HTML 页面将被覆盖
JavaScript语句
相信在上面的李志忠也体会到了JavaScript语句,例如向 id=”demo” 的 HTML 元素输出文本 “Hello World”:
document.getElementById("demo").innerHTML="Hello World";
另外,JavaScript 对大小写是敏感的,当编写 JavaScript 语句时,请留意是否关闭大小写切换键,例如函数 getElementById 与 getElementbyID 是不同的
JavaScript的注释跟Java相同,单行注释(//),多行注释(/**/),并且可以用注释来阻止代码的执行
JavaScript变量的声明(创建)
使用var关键字来声明变量,例如var name = "Bill";
value = undefined 情况,声明的无值的变量的值其实是undefined
JavaScript中可以重新声明变量,但是该变量的值却不会丢失,
var carname="Volvo";
var carname;
如上面两句代码,carname的值依然是“Volvo”
JavaScript的数据类型
JavaScript具有动态类型,就是相同的变量可用作不同的类型,例如
var x // x 为 undefined
var x = 6; // x 为数字
var x = "Bill"; // x 为字符串
字符串的声明可以用单引号、双引号
JavaScript的数字类型只有一种,数字可以带小数点也可以不带,极大或者极小的数字可以通过科学(指数)计数法来书写
JavaScript的数组的创建有两种,
var cars=new Array();
cars[0]="Audi";
cars[1]="BMW";
cars[2]="Volvo";
或者var cars=["Audi","BMW","Volvo"];
声明变量类型
声明变量时,用“new”关键词来声明其类型
var name=new String;
var x = new Number;
var y = new Boolean;
var cars= new Array;
var person= new Object;
JavaScript 变量均为对象,当声明一个变量时,就创建了一个新的对象
JavaScript对象
上面提到,JavaScript中所有的事物都是对象,对象是拥有方法和属性的数据
关于属性和方法
属性是对象相关的值,方法是能够在对象上执行的动作
例如在声明一个变量时var str = "Hello World!"
实际上已经创建了一个字符串对象,那么str这个对象就拥有內建的属性和方法
//属性
str.length = 12;
//方法
str.indexOf()
str.replace()
str.search()
创建对象
例如创建“person”对象,并添加四个属性
person=new Object();
person.firstname="Bill";
person.lastname="Gates";
person.age=56;
person.eyecolor="blue";
访问对象的属性:objectName.propertyName
访问对象的方法:objectName.methodName()
JavaScript函数
函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块
例如上面使用的myFunction()
JavaScript函数语法(使用关键词function):
function functionName(argument1,argument2){
//argument1,argument2是形式参数
//这里是要执行的代码
return X; //还可以添加return语句,则此函数会有返回值,同时 return也会退出函数
}
当调用定义的函数时,会执行函数内的代码
JavaScript的局部变量、全局变量及变量的生存期
在函数内部声明的变量就是局部变量,只能在函数内部才能访问;在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它
生存期:
JavaScript 变量的生命期从它们被声明的时间开始。
局部变量会在函数运行以后被删除
全局变量会在页面关闭后被删除
如果把值赋给尚未声明的变量,该变量将被自动作为全局变量声明
例如这条语句:
carname="BMW";
将声明一个全局变量 carname,即使它在函数内执行。
JavaScript的运算符、比较和逻辑运算符、if-else(if-else_if)语句、switch语句(default、break关键字)跟Java语言中几乎相同,在这里就不一一赘述
循环语句
JavaScript for/in 语句循环遍历对象的属性:
var person={fname:"John",lname:"Doe",age:25};
for (x in person)
{
txt=txt + person[x];
}
会输出:
JohnDoe25
比较 for 和 while
for循环和while循环很像
看一下两个实例
for循环:
cars=["BMW","Volvo","Saab","Ford"];
var i=0;
for (;cars[i];)
{
document.write(cars[i] + "<br>");
i++;
}
while循环
cars=["BMW","Volvo","Saab","Ford"];
var i=0;
while (cars[i])
{
document.write(cars[i] + "<br>");
i++;
}
循环中break和continue语句
break 语句用于跳出循环,跳出循环后会继续执行循环之后的代码
continue 用于跳过循环中的一个迭代,如果出现了指定的条件,然后继续循环中的下一个迭代
JavaScript 标签?(这一部分回头补充)
JavaScript错误-Throw、Try和Catch
如Java中一样,try 语句测试代码块的错误,catch 语句处理错误,throw 语句创建自定义错误