一、javascript引入方式:
<!-- 第三种页面引入JavaScript的方式:外链式,推荐 -->
<!-- 如果作为引用时标签对里的代码无效-->
<script src="../vscode/js/hello.js">
//这里写的js代码无效
</script>
<!-- 第二种页面引入JavaScript的方式:内嵌式,部分推荐 -->
<script>
//这里的代码就有用了
alert('hello world ,again')
</script>
</head>
<body>
<!-- 第一种页面引入JavaScript的方式:行间事件,不推荐使用 -->
<div onclick="alert('hello world')">这是一个div</div>
</body>
二、JavaScript基本语法:
1.定义:
var iNum01 = 12,sTr ='abc',bisMove = true;
// 如果没有定义类型和值,默认就是undefine
var iNum02;
2.js基本类型:
1、number 数字类型
2、string 字符串类型
3、boolean 布尔类型 true 或 false
4、undefined undefined类型,变量声明未初始化,它的值就是undefined
5、null null类型,表示空对象,如果定义的变量将来准备保存对象,
可以将变量初始化为null,在页面上获取不到对象,返回的值就是null
3.函数:
<script>
// js用分号的原因是,将来调用的时候回压成一行,为了区别代码所以用了分号
// 如果函数执行在函数的定义上面,这个是函数的预解析,都是可以用的
// 函数调用
fnMyalert();
//定义函数
function fnMyalert() {
// 函数体可以包裹其他函数,如下的alert函数
alert('ok')
}
// 调用函数
// fnMyalert();
// 变量的预解析,变量在下面定义,在上面调用,变量的值是undefined.
alert(iNum01);
var iNum01 = 211;
var a = 10,b = 20 ;
alert("a + b = " +a + b)
</script>
4.条件语句if:
<script>
var iNum01 = 12;
var sNum01 = '12';
if(iNum01==12){
alert('相等! ');
}
else{
alert('不相等! ');
}
// '=='符号会将符号两边的变量转换成数字类型再进行对比,这个叫做隐式转换
if(sNum01==12){
alert('相等! ');
}
else{
alert('不相等! ');
}
// '==='不会做隐式转换
if(sNum01===12){
alert('相等! ');
}
else{
alert('不相等! ');
}
if(10>5 && 20>15 && 2>3){
alert('都大于');
}
else{
alert('至少有一个不大于')
}
if(10>5 || 20>15 || 2>3){
alert('至少有一个不大于');
}
else{
alert('都不大于')
}
if(!10>5){
alert('大于');
}
else{
alert('不大于');
}
</script>
5.获取元素:
<script>
//window.onload表示窗口的载入事件,这样可以进行预加载,直白一点就是说可以写上面
window.onload = function(){
// 因为document.getElementById('div01')的返回值是一个对象
var oDiv = document.getElementById('div01')
oDiv.style.color = 'red';
oDiv.style.fontSize = '30px';
oDiv.style.width = '200px';
oDiv.style.height = '200px';
oDiv.style.background = 'gold';
}
</script>
<body>
<div id="div01" >这是一个div</div>
</body>
6.操作元素属性:
<script>
window.onload = function(){
// 获取
var oDiv = document.getElementById('div01');
var oA = document.getElementById('link01')
// 独缺属性值
var sId = oDiv.id;
alert(sId);
// 写属性值,也叫做设置属性值
oDiv.style.color = 'red';
oDiv.style.fontSize = '30px';
// 操作class属性,class属性名要写成className
oA.className = 'sty02';
// 操作元素包裹的内容
// 读取内容
var sTr = oA.innerHTML;
var sTr2 = oDiv.innerHTML;
alert(sTr);
// 修改内容,写入内容
oA.innerHTML = '改变文字';
oDiv.innerHTML = '<a href = "http://www.itcast.cn">创中国</a>'
oDiv.innerHTML = '<ul><li>变成列表了</li><li>变成列表了</li><li>变成列表了</li></ul>'
}
</script>
<body>
<div id="div01">这个还是一个div</div>
<a href="#" class="tay01" id="link01">这厮一个链接</a>
</body>
6.点击事件:
<script>
window.onload = function(){
var oBtn = document.getElementById('btn');
var oDiv = document.getElementById('div01');
// function fnChange(){ 改写成下面的匿名函数
oBtn.onclick = function(){
oDiv.style.width = '300px';
oDiv.style.height = '300px';
oDiv.style.background = 'gold';
}
// 点击事件关联函数
// oBtn.onclick = fnChange;
}
</script>
<body>
<input type="button" value="改变元素" id="btn">
<div id="div01">这是一个div</div>
</body>
7.数组:
<script>
// 第一种创建数组的方法
var aList01 = new Array(1,2,3);
// 第二种创建数组的方法:直接量的方式
var aList02 = ['a','b','c','d']
// 获取数组成员的个数
var iLen = aList02.length;
// alert(iLen)
// 操作数组的某个成员
alert(aList02[2]);
//在数组后面增加成员
aList02.push('e')
alert(aList02);
// 在数组后面删除成员
aList02.pop()
// alert(aList02)
// 将数组反转
aList02.reverse();
// alert(aList02);
// 将数组转换成字符串
var sTr = aList02.join('-');
var sTr2 = aList02.join('');
// alert(sTr);
// alert(sTr2);
var aList03 = ['a','b','c','d','e','a','b'];
// 在数组中增加或者删除成员
// 从第4个('e')开始删除,删除两个,得到abcdb
aList03.splice(4,2);
// alert(aList03);
// 从第四个开始删除,删除一个,任何增加'e','f'两个元素
aList03.splice(4,1,'e','f');
alert(aList03);
// 获取某个成员在数组中第一次出现的索引值
var aList04 = ['a','b','c','d','e','a','b','b','a','c'] ;
var iPost = aList04.indexOf('c');
alert(iPost);
</script>
8.循环(for):
<script>
var aList = ['a','b','c','d','e','f'];
var iLen = aList.length;
//遍历
for(var i = 0;i<iLen;i++){
alert(aList[i]);
}
var aList01 = ['a','b',,'a','c','d','b','e','f'];
var aList02 = [];
//去重
for(var i=0;i<aList01.length;i++){
if(aList01.indexOf(aList01[i])==i){
aList02.push(aList01[i]);
}
}
alert(aList02);
</script>
9.将数组载入页面中:
<script>
window.onload = function(){
var oList = document.getElementById('list');
var aList = ['七龙珠','高达','火影','海贼','死神','鲁路修',''];
var sTr = '';
//遍历数组内容,存放在空字符串中
for (var i = 0;i<aList.length;i++){
sTr += '<li>' + aList[i] + '</li>'
}
//替换页面内容
oList.innerHTML = sTr;
}
</script>
</head>
<body>
<ul class="list" id="list">
<li>电影排行</li>
<li>电影排行</li>
<li>电影排行</li>
<li>电影排行</li>
<li>电影排行</li>
</ul>
</body>
10.字符串反转:
<script>
var sTr1 = 'afuiajflasjfl230893482';
var sTr2 = sTr1.split('').reverse().join('');
alert(sTr2);
</script>
11.字符串:
<script>
var iNum01 = 12;
var sNum01 = '12';
var sNum02 = '26';
var sNum03 = '88.90';
// '+'符号两遍如果都是数字,就做加法运算,如果有一个是字符串,就做字符串拼接操作
alert(iNum01 + 10);
alert(iNum01 + sNum01);
// parseInt方法将整数的字符串转化为整数,如果是小数的字符串会将小数去掉
alert(parseInt(sNum02) + iNum01);
alert(parseInt(sNum03) + iNum01);
// parseFloat会将小数字符串转换为小数
alert(parseFloat(sNum03) + iNum01);
// 将字符串转换为数组
var sTr = '2018-06-14';
var aList = sTr.split('-')
var aList2 = sTr.split('');
alert(aList);
alert(aList2);
var sTr2 = 'jdfafka11hk2332akfh';
var iPos = sTr2.indexOf('888');
alert(iPos);
// 切取字符串,从11开始切,到16结束
var sTr3 = sTr2.substring(11,16);
alert(sTr3);
// 如果不写结束就直接切到结尾
var sTr4 = sTr2.substring(11);
alert(sTr4);
</script>
12.定时器(setInterval):
<script>
function fnMalert(){
alert('上床了!');
}
// fnMalert();
// 创建只执行一次的定时器
// 第一个参数是要调用的函数名称,第二个参数是间隔时间,单位是毫秒,我们不用写单位
// setTimeout(fnMalert,2000);
var oTimer01 = setTimeout(fnMalert,2000);
// 关闭只执行一次的定时器
// clearTimeout(oTimer01);
// 创建反复执行的定时器
var oTimer02 = setInterval(fnMalert,2000);
// 关闭反复执行的定时器
// clearInterval(oTimer02);
</script>
-----------------
<style>
.box{
width: 200px;
height: 200px;
background: gold;
margin-left: 10px;
position: fixed;
top: 100px;
left: 0px;
}
</style>
<script>
window.onload = function(){
var oDiv = document.getElementById('box');
var iLeft = 0;
function fnMove(){
iLeft += 3;
oDiv.style.left = iLeft + 'px';
}
// for(var i = 0;i < 19;i++){
// fnMove();
// }
setInterval(fnMove,30);
}
</script>
<body>
<div class="box" id="box"></div>
</body>
13.变量定义域:
<script>
// 定义全局变量
var iNum01 = 12;
function fnMyalert(){
//定义局部变量
var iNum02 = 24;
// 调用全局变量
alert('函数里面弹出:'+iNum01);
//调用局部变量
alert('函数里面弹出:'+iNum02);
// 在函数内部修改全局变量
iNum01 = 13;
alert('函数里面弹出:'+iNum01);
// 函数内部定义变量时,如果不用var关键字,那么它使用一次之后,就会变成全局变量
iNum03 = 48;
}
fnMyalert();
// 函数外部调用全局变量
alert('函数外面弹出:'+iNum01);
alert('函数外面弹出:'+iNum03);
alert('函数外面弹出:'+iNum02);
</script>
14.封闭函数:
function fnWrap(){
function fnTouzi(){
alert('亲,请关注我们新的产品!');
}
fnTouzi();
}
fnWrap();
简写方式1:
;~function(){
function fnTouzi(){
alert('亲,请关注我们新的产品!');
}
fnTouzi();
}();
简写方式2:
;!function(){
function fnTouzi(){
alert('亲,请关注我们新的产品!');
}
fnTouzi();
}();
15.
来源:https://www.cnblogs.com/future-hacker/p/9221959.html