标签:程序 重点 表单 字符 move echo 协议 mil 成员访问
一、JS原生态
用途: 可以和web页面进行相互交互就是美化页面
JavaScript刚开始产生的试试主要为了解决表单的验证效果的
2.JavaScript 定义
JavaScript 缩写是JS 正式名字是ECMASCRIPT 这个标准 就是由ECMA阻止发展和维护
正式标准ECMA-262 由网景公司提供微软提出 javascript
JavaScript 是网景(Netscape)公司开发的一种基于客户端浏览器、面向(基于)对象、事件驱动式的网页脚本语言
事件: 当鼠标或者键盘操作文本文档的时候会产生 事件 事件就是用户的操作
事件驱动: 当产生一个事件的时候 调用程序处理事件达到一定效果的过程 我们叫做事件驱动
3.JavaScript特点(掌握)
i.JS是解析型语言
所有程序员编写代码 都需要转换为计算机的语言(2进制) 通过编辑器转换编译
js的转换为计算机语言的时候 通过解析器编辑解析 转换而来 所以叫做解析型语言
ii.JS结构和C++十分相似
iii.JS具有跨平台的性质
iv.具有安全性和简单性
v.基于对象
4.优点
5.缺点
浏览器兼容性问题
6.环境
编辑器: sublime vim np++ 记事本。。。。。
运行环境: 只要支持js 的各个浏览器都行: 例如: 火狐 chrome ie 360 猎豹 qq 欧朋 。。。。
7.JavaScript和java有关系吗?
雷锋和雷锋塔
8.JavaScript特效原理
找需求美化的元素或者对象 进行美化
找对象 改属性(重点重点重点)
9.JavaScript 不能做什么(重点重点)
a) 不能做操作数据库
b) 不能操作文件
10.如何学习JavaScript(重点重点)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <!-- --> </body> <script> //alert(1); /* 这是js注释 alert(2); */ </script> </html>
11.JavaScript 语法(重点重点重点)
i.使用方式
1.写在script标签中
例如:<script>alert(1)</script>
2.通过事件的方式写js代码
例如: <button onclick=”alert(1)”>求虐</button>
<button onclick=”test()”>求虐</button>
如果在事件中写的值为return false 则可以阻止默认行为
例如:<a href="http://www.baidu.com" onclick="return false">去百度玩</a>
<a href="http://www.baidu.com" onclick="return check()">想去百度啦</a>
3.通过协议的方式写js代码
例如:<a href="javascript:alert(‘你想去百度???‘)">想百度一下</a>
4.通过外部引入的方式写js代码
<script src="./js.js">
一旦我们的script用于导入外部js文件的时候 那么这对标签里面的所有代码无效
alert(‘我是引入外部js的同时写的js代码‘);
</script>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <!-- 4.外部引入js代码 --> <script src="./js.js"> 一旦我们的script用于导入外部js文件的时候 那么这对标签里面的所有代码无效 alert(‘我是引入外部js的同时写的js代码‘); </script> </head> <body> <!-- 2.通过事件的方式写js代码 --> <button onclick="alert(‘今天我要嫁给你妈?‘)">今天你要嫁给谁</button> <button onclick="test()">求虐</button> <!-- 在事件中return false 可以阻止默认行为 --> <a href="http://www.baidu.com" onclick="return false">去百度玩</a> <a href="http://www.baidu.com" onclick="return check()">想去百度啦</a> <a href="http://www.baidu.com">百度一下你就知道</a> <!-- 3.通过协议的方式写js代码 --> <a href="javascript:alert(‘你想去百度???‘)">想百度一下</a> </body> <script> //1.写在script 标签中 //alert(1); function test(){ alert(‘好嘞,满足你!!‘); } function check(){ return false; } </script> </html>
ii.js能在html中出现的位置
除了title和style里面
之外 js可以出现在html的所有位置
<script> //alert(1); </script> <!DOCTYPE html> <script> //alert(2); </script> <html lang="en"> <script> //alert(3); </script> <head> <script> //alert(4); </script> <meta charset="UTF-8"> <style> <script> alert(1); </script> </style> <!-- 除了title和style里面之外 js可以出现在html的所有位置 --> <title><script>alert(1);</script></title> </head> <body> </body> <script> //alert(1); </script> </html> <script> //alert(1); </script>
iii.js执行顺序
请各位以后将你所有的js代码都放置在body标签后面
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> #box{width:100px;height:100px;background:yellow;} </style> <!-- <script>alert(3)</script> --> </head> <body> <script> //alert(2); </script> <div id="box" ></div> </body> <script> //找对象 改属性 //1.找对象 //获取元素对象 //document.getElementById(‘元素的id值‘);就可以获取到当前的元素 var box = document.getElementById(‘box‘); alert(box); //2.改属性 //box.title="我们用js修改的属性"; box.style.background="red"; //alert(1); </script> </html>
iv.获取元素对象
document.getElementById(‘元素的id值’)->单个对象
v.js中严格区分大小写
vi.js调试方式
1. alert(1) 弹出窗口 相当于php中的exit 中断代码执行
2. document.write()类似于php里面echo 代码执行完毕之后 在执行会覆盖里面的内容
3. console.log() 记录到控制台 没有弊端
4. console.dir() 类似php print_r() 打印数组
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <button onclick="test()">覆盖</button> </body> <script> //1.alert(1) 弹出窗口 相当于php exit 中断代码执行 //alert(1); //alert(2); //2. document.write() 类似于php里面echo 代码执行完毕之后 在执行会覆盖里面的内容 document.write(‘<h2>何涛昨晚不知道和德宝干什么去了!!</h2>‘); document.write(‘<h2>何涛昨晚不知道和德宝干什么去了!!</h2>‘); document.write(‘<h2>何涛昨晚不知道和德宝干什么去了!!</h2>‘); document.write(‘<h2>何涛昨晚不知道和德宝干什么去了!!</h2>‘); function test(){ //一定不能出现的在事件里面 否则会进行覆盖操作 document.write(‘<h3>昨天晚上我看见他们两个进入如家宾馆多少号房间不知道</h3>‘); } //3. console.log() 记录到控制台没有弊端 console.log(‘我是在控制台里面的内容哈哈哈哈哈‘); console.log(‘我要\r\n换行‘); //3.1 console.dir() 类型php print_r() var list =[1,2,3,4,5,6,7]; console.log(list); console.dir(list); //4. document.title 修改标题 调试动态数据比较方便 //document.title="我是用js修改的标题内容"; document.onmousemove=function(e){ //alert(e.clientX); //console.log(e.clientX); document.title="X:" + e.clientX + ‘Y:‘ + e.clientY; } </script> </html>
vii.跟随图片鼠标特效
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> #img{position:absolute;top:100px;left:100px;} </style> </head> <body> <img src="./1.gif" id="img" width="300"> </body> <script> //找对象 var img = document.getElementById(‘img‘); //改属性 //鼠标移动内容 document.onmousemove = function(e){ document.title="X:"+e.clientX +‘Y:‘+e.clientY; //将图片的style样式里面left属性的值修改为鼠标坐标的x轴坐标 img.style.left = e.clientX +"px"; //将图片的style样式里面top属性的值修改为鼠标坐标的y轴坐标 img.style.top = e.clientY +"px"; } </script> </html>
viii.运算符
1. 奇葩的加号 +
如果两边都是数字 那么就是数学运算
只要有任何一边是字符串 那就是拼接
2. += 同上
3. 对象成员访问符php中对象成员访问符(->)
a) .对象成员访问符
.成员访问符 不能解析变量
他会将变量直接变为属性来访问
如果这个变量在对象中不存在则返回undefined
b) []对象成员访问符
[]成员访问符 能解析变量
他会先解析变量 将变量里面的值去访问我们对象中的属性
如果这个解析之后的变量的属性不存在才会返回undefined
4.奇葩的分号; 命令执行符
换行符也是命令执行符
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script> //1 js所有内容严格区分大小写 //加号 //数学运算 //如果两边都是数字 那么就是数学运算 var num = 10 + 5; //alert(num); //字符拼接 //只要有任何一边是字符串 那就是拼接 //var str = ‘三皮‘+‘德宝很爱你!‘; //var str = 10 + ‘小王子‘; //alert(str); document.write(10+10+10);// 30 document.write(‘<br/>‘); document.write(10+‘10‘+10);//101010 document.write(‘<br/>‘); document.write(10+10+‘10‘);//2010 document.write(‘<br/>‘); document.write(‘10‘+10+10);//101010 document.write(‘<br/>‘); //+= var num =10; num +=5; num +=‘5‘; //alert(num); var obj = {name:‘球球‘,age:20}; //alert(obj); //alert(obj.name); //alert(obj[‘name‘]); var str = ‘sex‘; //alert(obj.str); alert(obj[str]); document.write(‘问:男生如何回答女生你为什么对我这么好!比较靠谱‘) document.write(‘我敬你是条汉子‘) //换行符如果会产生错误 那么就不作为命令执行符 //但是不要让我看见这样的代码 如果让我看见 我让你敲回车敲到死!!!! var num = 10 alert(num); </script> </body> </html>
ix.定时器(延迟器)(非常非常非常非常重要的内容 超重点)
定时器时间单位毫秒 1000毫秒=1秒
第一种使用方式
setInterval(函数名,定时的时间)
第二种使用方式
setInterval(function(){},定时的时间)
清除定时器操作
clearInterval(变量)
2.单次定时器(一次性定时器)
第一种使用方式
setTimeout(函数名,定时的时间)
第二种使用方式
setTimeout(function(){},定时的时间)
清除定时器操作
clearTimeout(变量)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> </body> <script> //多次定时1 function func(){ console.log(‘暧昧是什么?‘); //清除单次定时器的效果 clearTimeout(timmer1); } //定时器 var timmer =setInterval(func,1000); //多次定时2 // setInterval(function(){ // console.log(‘暧昧=爱日未日‘); // },1000); // 单次定时器 // 单次1 // function func1(){ // console.log(‘你们认为最奇葩的广告语是哪个?‘); // } // setTimeout(func1,5000); //单次2 var timmer1 =setTimeout(function(){ alert(‘垃圾分类,从我做起‘); //清除操作 //clearInterval(timmer); },5000); </script> </html>
x.倒计时特效
innerHTML 获取元素对象的文本值 可读可写属性
读 对象.innerHTML
写 对象.innerHTML = 值
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> *{margin:0px;padding:0px;} #div{width:200px;height:50px;color:white;background:green;text-align:center;font:bold 26px/50px 微软雅黑;} </style> </head> <body> <div id="div">10</div> </body> <script> //找对象 var box = document.getElementById(‘div‘); // alert(box.innerHTML); // box.innerHTML =20; //改属性 m=10; function func(){ m--; console.log(m); //把m的值赋值给div元素对象的文本值 box.innerHTML = m; if(m == 0){ alert(‘放学啦‘); clearInterval(timmer); } } var timmer=setInterval(func,1000); </script> </html>
xi.轮播图
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <img src="./images/0.jpg" id="img" width="500"> </body> <script> //轮播图 //找对象 var img = document.getElementById(‘img‘); //alert(img.src); // img.src="./images/1.jpg"; // alert(1); //改属性 m = 0; function func(){ m++; console.log(m); //将m的值赋值给img src属性 img.src = ‘./images/‘+m+‘.jpg‘; //超出范围 if(m==4){ m=-1; } } //定时器 setInterval(func,3000); </script> </html>
xii.新消息
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> </body> <script> //document.title=‘【新消息】‘; //document.title=‘【 】‘; m = 0 function func(){ if(m % 2 ==0){ document.title=‘【新消息】‘; }else{ document.title=‘【 】‘; } m++; //console.log(m); } setInterval(func,500); </script> </html>
标签:程序 重点 表单 字符 move echo 协议 mil 成员访问
原文地址:https://www.cnblogs.com/abinlulu/p/9939210.html