码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript 01

时间:2018-11-10 17:57:02      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:程序   重点   表单   字符   move   echo   协议   mil   成员访问   

一、JS原生态

  1. JavaScript产生的背景以及用途

    用途: 可以和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.优点

    1. 美化页面
    2. 表单验证
    3. 分布式操作

  5.缺点

     浏览器兼容性问题

  6.环境

    编辑器: sublime  vim  np++ 记事本。。。。。

    运行环境: 只要支持js 的各个浏览器都行: 例如: 火狐  chrome  ie  360 猎豹 qq 欧朋 。。。。

  7.JavaScriptjava有关系吗?

    雷锋和雷锋塔

  8.JavaScript特效原理

    找需求美化的元素或者对象  进行美化

    找对象 改属性(重点重点重点)

  9.JavaScript 不能做什么(重点重点)

    a) 不能做操作数据库

    b) 不能操作文件

  10.如何学习JavaScript(重点重点)

    1. 基本语法 ECMAScript
    2. BOM  浏览器对象
    3. DOM  文档对象

 

<!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中出现的位置

          除了titlestyle里面

          之外 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

          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>

 

  

 

JavaScript 01

标签:程序   重点   表单   字符   move   echo   协议   mil   成员访问   

原文地址:https://www.cnblogs.com/abinlulu/p/9939210.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!