一、JS能做的:
1.JavaScript(以下简称JS)是一种轻量级的编程语言,被设计用来向 HTML 页面增加交互性,常用来为网页添加各式各样的动态功能,它不需要进行编译,直接嵌入在HTML页面中(java文件不能直接执行,得先编译成class才能执行)
2.使用方式:内嵌式、外链式
<!--外链式 css引入时link是单标签的;成对的-->
<script type="text/javascript" src="myJs.js"></script>
<!--内嵌式-->
<script type="text/javascript">
</script>
3.JS能做什么?:
(1)对事件的反应(鼠标点按钮:单击、双击;)
(2)验证输入(例如输入用户名、密码,验证长度不能大于10)
(3)改变HTML标签的内容或者样式
(4)直接输出HTML内容
二、用法
1.放置位置:理论上可以放置在html文件中的任意位置。建议统一放置在<head></head>中,不要占用body中的位置,免得html和js混杂在一起,后期不好维护。
2.可以写多个<script></script>
3.注释:单行注释 // 多行 /* */
4.每行代码用分号分隔,一行可以写多条语句
5.页面简单的代码查错,可以用打印数据的方式:
JavaScript 可以通过不同的方式来输出数据:
(1)使用 alert() 弹出警告框。
(2)使用 console.log() 写入到浏览器的控制台。
(3)使用 document.write() 方法将内容写到 HTML 文档中。
(4)使用 innerHTML 写入到 HTML 元素。
//几种住打印方式
//console.log("我是console打印");
//document.write('<h1>写入页面</h1>');
//document.getElementById("msg").innerHTML = "您用户名不对";
//alert("内嵌式引入js");
/*
多行注释
*/
三、基础知识
1.数据类型&变量
使用var命令声明变量,因为JavaScript是一种弱类型语言,所以在声明变量时,不需要指定变量的类型,变量的类型将根据变量的赋值来确定, 变量的命名必须遵循命名规则,变量名可以由字母、下划线(_)、美元符号($),甚至中文组成,但中文命名的方式不建议使用,中间可以是数字、字母或下划线,但是不能有空格、加号、减号等符号,不能使用JavaScript的关键字。可以和java一样:字母、数字、_;数字不能开头
var a = 1;
var b = 1.0;
b = "haha";//js里面可以赋值为不同类型是数据
alert(typeof(b));//typeof是查看b的数据类型
b = true;
alert(typeof(b));//typeof是查看b的数据类型
var c;
alert(typeof(c));//undefined
var d = [];
alert(typeof(d));//object对象类型
2.关键字
·以下关键字同样不可以用作函数名、对象名
3.运算符
JavaScript中的运算符主要包括算术运算符、比较运算符、赋值运算符、逻辑运算符和条件运算符5种
/*var a = 12;
var b = "12";
alert("==:"+(a==b));//只比较值是否相等
alert(a===b);//值和类型都相等*/
//字符串+连接符
var a = 12;
var b = "12";
var c = a + b;
alert(c);//1212
var d = a + parseInt(b);//parseFloat,只有这2个
alert(d);//24
4.对象
(1)JavaScript 中的所有事物都是对象:字符串、数值、数组、函数... 此外,JavaScript 允许自定义对象。和java的类类似, 比如人是一个对象,包含属性身高、体重、肤色;包括方法:吃饭、睡觉
//自定义一个对象
var person = {
height: "65kg",//属性
weight: 165.00,
sex: true,
eat: function(){//方法
alert("我吃饭了");
},
sleep: function(n){//n:睡了几个小时
alert("睡了:"+n+"小时");
}
};
alert("身高:"+person.height);//对象名字.属性
alert("体重:"+person.weight);
person.eat();//对象名字.方法或叫函数
person.sleep("18个");
(2)JavaScript 提供多个内建对象,比如 String、Date、Array 等等。 对象只是带有属性和方法的特殊数据类型。
①String对象
//String对象,和java的String类的方法几乎的一样的
var a = "I am a china";
alert(a.length);//长度属性,算上空格
alert(a.indexOf('c',4));//查找c字符的位置,第一个位置从0开始
alert(a.lastIndexOf('c',20));//从后往前查c的位置,20超过字符串长度,不报错
alert(a.substr(2,3));//截取字符串,从位置2开始截取,截取3个字符
alert(a.substring(2,3));//从2开始截取,截取到第3个位置,不包含第3个位置的字符
var b = a.split(" ");//以空格为分隔符,拆成数组
alert(b[1]);//数组应该是这样的:["I","am","a","china"]