javascript 作用 1. 网页特效 2. 用户交互 3. 表单验证 Js 就是可以用来控制 结构 和 样式 。 1.2 体验js 认识常用的三个输出语句。 都属于 js 内置对象 。 大家买手机,手机里面有么有装好一些软件。 提供我们直接使用的功能就是 内置对象功能。 1.2.1 Alert() 弹出警示框 完整的写法 : window.alert(“执行语句”); Window 对象 窗口 一般情况是可以省略的。 Alert(“123”); 1.2.2 Console 控制台输出 一般用于 测试用。 Console 使用代码 作用 Console.log() 控制台输出 普通输出语句 Console.warn() 控制台警示 Console.error(); 错误提示 1.2.3 document.write() 文档打印输出 document 文档对象 它不可以省略 Alert() 非常少。 用户体验 Console 用户看不见 document.write() 直接在文档中显示。 1.3 熟悉js 用途 我们js 的主要目的 , 控制 web标准中的前两种。 结构 样式 行为 Js 怎么来控制样式和结构呢? 我们班级有130人,我想要提问某个同学问题。 我应该怎么做? 首先我应该 点名字 找到这个同学。 他才能回答问题。 Js 怎么来控制样式和结构呢? 首选先找人。找准对象。 我们前面学过 div 一类人 span 都是 类名 好多个 Id 是永远是唯一的。 不会冲突。 getElementById("demo") Get 获取 element 元素 by 通过 id 名字 通过 id 名字为 demo的 得到这个元素 因为这个div 是在 文档中,文档中很多个div其中的一个。所以我们 先document document.getElementById("demo").style.width = "200px"; 文档的 id为demo的 样式的 宽度的 值为 200px borderTop 1.4 变量 变量的命名规则! 1.变量命名必须以字母或是下标符号”_”或者”$”为开头。 2.变量名长度不能超过255个字符。 3.变量名中不允许使用空格。 4.不用使用脚本语言中保留的关键字及保留符号作为变量名。 5.变量名区分大小写。(javascript是区分大小写的语言) 1 var a = 10; 2 function fun() 3 { a = "global"; } 4 console.log(a); 5 //输出 ? 6 var a; 7 function fun() 8 { a = "global"; } 9 fun(); 10 console.log(a); 1.4.1 变量的作用域 根据变量的作用范围 可以分为 全局变量 和 局部变量 全局变量: 1. 在最外层声明的变量。 2. 在函数体内部,但是没有声明var 的变量也是全局变量 局部变量: 在函数体内部的 声明的变量 小知识点: 隐式的全局变量 11 在函数体内部,但是没有声明var 的变量也是全局变量。 12 var a = 1 13 function func() { 14 a = b = 2 15 } 16 func() 17 alert(a) 18 alert(b) 1.5 事件三要素 把等打开灯 要做这样的事情 。 我们用我们的手 去 按 一下开关 灯亮了。 事件源 事件 事件处理程序 1.5.1 事件源 要触发的对象 手 用手去触发的。 谁触发了 一般情况下 是 个名词 发起者 被触发者 开关按钮 1.5.2 事件 怎么触发的这个事情 按 一般情况下这个是 动词 点击 鼠标经过 按键盘 事件名 说明 onclick 鼠标单击 ondblclick 鼠标双击 onkeyup 按下并释放键盘上的一个键时触发 onchange 文本内容或下拉菜单中的选项发生改变 onfocus 获得焦点,表示文本框等获得鼠标光标。 onblur 失去焦点,表示文本框等失去鼠标光标。 onmouseover 鼠标悬停,即鼠标停留在图片等的上方 onmouseout 鼠标移出,即离开图片等所在的区域 onload 网页文档加载事件 onunload 关闭网页时 onsubmit 表单提交事件 onreset 重置表单时 1.5.3 事件处理程序 发生了什么事 灯亮了 = function(){ } 1.5.4 总结 事件三要素: 事件源 三藏 事件 念 事件处理程序 悟空头疼 案例1 : 事件三要素: 事件源: x 盒子 事件: 点击 事件处理程序: 关闭 这个大的banner 案例2 : 事件源: 关注京东的这个盒子 事件: 鼠标滑过 经过 事件处理程序: 下拉菜单就会显示出来 事件源.事件 = function(){ 事件处理函数 } 事件源: 按钮 事件 点击 事件处理程序: 盒子的宽度改变 400 代码: <script> 19 /*要操作先找人*/ 20 var demo = document.getElementById("demo"); //获得id为demo的div盒子给demo 21 var btn = document.getElementById("btn"); // 获得按钮 22 /*事件三要素*/ 23 /*事件源.事件 = fucntion(){}*/ 24 btn.onclick = function(){ 25 demo.style.width = "400px"; 26 } 27 </script> 1.6 隐藏样式 Display: none display: block ; 显示的意思 Visibility: hidden; visibility: visible 显示的意思 Display 隐藏不占位置 Visibility:hidden 隐藏占有位置 停职留心 Overflow:hidden; 隐藏超出的部分。 1.7 入口函数 window.onload = function(){ 内部放js } 这个函数的意思就是说,当我们页面加载完毕之后,采取执行函数体里面的js部分。 就是说等 页面的结构 样式 节点等加载完毕。。。 所以,这句话也可以页面的顶端即可。 <script> window.onload = function(){ /*要做事,先找人*/ var pic1 = document.getElementById("pic1"); var pic2 = document.getElementById("pic2"); var pic3 = document.getElementById("pic3"); pic1.onclick = function(){ document.body.style.backgroundImage = "url(images/1.jpg)"; } pic2.onclick = function(){ document.body.style.backgroundImage = "url(images/2.jpg)"; } pic3.onclick = function(){ document.body.style.backgroundImage = "url(images/3.jpg)"; } } </script> 1.8 模态框 <script type="text/javascript"> window.onload = function(){ //事件源: 登录 var login = document.getElementById("login"); var mask = document.getElementById("mask"); var box = document.getElementById("box"); login.onclick = function(){ // 当我们点击登录,会弹出灰色的大盒子和白色的小盒子 mask.style.display = "block"; box.style.display = "block"; } // 事件源 span x var close_all = document.getElementById("close_all"); close_all.onclick = function(){ mask.style.display = ‘none‘; box.style.display = "none"; } } </script> </head> 1.9 Padding 内边距 会影响盒子大小 行内元素 尽量不用 上下的padding和margin 继承的宽度 padding不会挤开 。 1.10 Js 的书写位置 Js 的书写位置非常的自由。 也可以参照 css 的位置来分类。 1.10.1 行内式 <button onclick="alert(‘你好吗‘)">点击我</button> 一般情况,单双引号是一样 的 但是出现 了包裹的情况。 我们一般采取的是 外双内单的格式。 <a href=”javascript:;”></a> <a href=”javascript:void(0);”></a> 1.10.2 内嵌式 <script type=”text/javascript”> </script> 任何一个地方 1.10.3 外链式 <script type=”text/javascript” src=”xx.js”></script> 这对标记之间不能写任何的东西。 1.11 数据类型 Js 的数据类型分为: 字符型 数值型 布尔型 null undefined Js 是一个是一种弱数据类型 。 Var Aa = 10; Var aa:int = 10; Js 的变量你给什么值,他就是什么数据类型。 1.11.1 字符型 (string) String 转换为字符型: 1. 利用 “” (双引号) 加了引号的都是字符型。 2. 利用String(); 转换为字符型 1.11.2 布尔型 (boolean) 就两个值 正确的和错误的 true 和 false 数据类型转换为布尔型: 1. 利用 !! console.log(typeof !!num); 2. 利用 Boolean() false、undefined 、null、0、”” 为 false true、1、”somestring”、[Object] 为 true 1.11.3 数值型 Var num = 10 数值的前面带 0 表示 八进制 Var num = 020; 0*80+2*81 = 16 数值的前面带 0x 表示 十六进制 var result = 0xb; 11 转换为数值型: 1. 利用 - * / 都可以转换 2 利用Number( ) 1.11.4 ParseInt() parseFloat() parseInt(值, 进制); NOT a number MMD BBD parseInt(110,2) 表示2进制 吧10 这个2进制转换为 10进制 0*20+1*21 + 1*22 = 6 1.var a="15.15abc" , b=‘10.15‘ , c=‘10.0abc‘; alert(parseInt(a)+Number(b)+parseFloat(c)); 1.11.5 Null undefined Null 空的 没有值 。 Undefined 未定义的 应该有值,但是没有给。 Null “”
后天 函数 for if switch