js(2)

来源:互联网 发布:如何查看域名对应的ip 编辑:程序博客网 时间:2024/06/14 00:06

Javascript 作用

网页特效

用户交互

表单验证

Js 就是可以用来控制 结构 和 样式 。

体验js

认识常用的三个输出语句。 都属于 js 内置对象
提供我们直接使用的功能就是 内置对象功能。

alert() 弹出警示框

完整的写法 : window.alert(“执行语句”);
Window 对象 窗口 一般情况是可以省略的。
alert(“123”);

console 控制台输出

一般用于 测试用。

console
使用代码 作用

console.log();      控制台输出  普通输出语句console.warn();     控制台警示console.error();    错误提示

document.write() 文档打印输出

document 文档对象 它不可以省略
alert() 非常少。 用户体验
console 用户看不见
document.write();直接在文档中显示。

<!DOCTYPE html><html><head lang="en">    <meta charset="UTF-8">    <title></title></head><body><script>   window.alert("你好");    alert("很好");    console.log("今天是");    console.warn("星期五");    console.error("天气很好");    document.write("今天下雪了");</script></body></html>

熟悉js 用途

我们js的主要目的 , 控制 web标准中的前两种。
结构
样式
行为
Js 怎么来控制样式和结构呢?
首选先找人。找准对象。

我们前面学过 div一类人span 都是
类名 好多个
id 是永远是唯一的。 不会冲突。
getElementById("demo")
通过 id 名字为 demo的 得到这个元素
因为这个div 是在 文档中,文档中很多个div其中的一个。
所以我们先document
document.getElementById("demo").style.width = "200px";
文档的 id为demo的 样式的 宽度的 值为 200px

<!DOCTYPE html><html><head lang="en">    <meta charset="UTF-8">    <title></title>   <!-- <style>        #demo {            width: 100px;            height: 100px;            background-color: pink;        }    </style>--></head><body> <div id="demo"></div> <div class="test"></div> <script>    document.getElementById("demo").style.width = "200px";    document.getElementById("demo").style.height = "200px";    document.getElementById("demo").style.backgroundColor = "red"; </script></body></html>

变量

变量的命名规则!

1.变量命名必须以字母或是下标符号”_”或者”$”为开头。
2.变量名长度不能超过255个字符。
3.变量名中不允许使用空格。
4.不用使用脚本语言中保留的关键字及保留符号作为变量名。
5.变量名区分大小写。(javascript是区分大小写的语言)

var a = 10;function fun(){ a = "global"; }console.log(a);//输出 ? 10var a;function fun(){ a = "global"; }fun();console.log(a);

变量的作用域

根据变量的作用范围 可以分为 全局变量 和 局部变量
全局变量:

    1. 在最外层声明的变量。    2. 在函数体内部,但是没有声明var 的变量也是全局变量

局部变量:

     在函数体内部的 声明的变量

小知识点:
隐式的全局变量

在函数体内部,但是没有声明var 的变量也是全局变量。var a = 1; function func() {      a = b = 2; } func(); alert(a); alert(b);  
<!DOCTYPE html><html><head lang="en">    <meta charset="UTF-8">    <title></title></head><body><script>    var num = 10;    function fn(){        console.log(num);        result = 20;    }    fn();    console.log(result);    var a = 1    function func() {        a = b = 2    }    func()    alert(a)    alert(b)</script></body></html>

事件三要素

把等打开灯 要做这样的事情 。
我们用我们的手 去 按 一下开关 灯亮了。
事件源 事件 事件处理程序

事件源

一般情况下是个名词
被触发者 开关按钮

事件

怎么触发的这个事情 按
一般情况下这个是 动词 点击 鼠标经过 按键盘
事件名说明

onclick     鼠标单击ondblclick  鼠标双击onkeyup     按下并释放键盘上的一个键时触发 onchange    文本内容或下拉菜单中的选项发生改变onfocus     获得焦点,表示文本框等获得鼠标光标。onblur      失去焦点,表示文本框等失去鼠标光标。onmouseover 鼠标悬停,即鼠标停留在图片等的上方onmouseout  鼠标移出,即离开图片等所在的区域onload      网页文档加载事件onunload    关闭网页时onsubmit    表单提交事件onreset     重置表单时

事件处理程序

发生了什么事 灯亮了
= function(){ }

总结

案例1 :

事件三要素:
事件源: x 盒子
事件: 点击
事件处理程序: 关闭 这个大的banner
案例2 :

  事件源:    关注京东的这个盒子  事件:       鼠标滑过  经过  事件处理程序:   下拉菜单就会显示出来

事件源.事件 = function(){ 事件处理函数 }

事件源:  按钮事件  点击 事件处理程序:  盒子的宽度改变  400

代码:

<!DOCTYPE html><html><head lang="en">    <meta charset="UTF-8">    <title></title>    <style>        #demo {            width: 200px;            height: 200px;            background-color: pink;        }    </style></head><body><div id="demo"></div><button id="btn">改变宽度</button><script>    /*要操作先找人*/    var demo = document.getElementById("demo");  //获得id为demo的div盒子给demo    var btn = document.getElementById("btn"); // 获得按钮    /*事件三要素*/    /*事件源.事件 = fucntion(){}*/    btn.onclick = function(){        demo.style.width = "400px";    }</script></body></html>

再举一个例子:鼠标经过切换图片

<!DOCTYPE html><html><head lang="en">    <meta charset="UTF-8">    <title></title></head><body><img src="images/jd1.png" alt="" id="pic"/><script>    //事件源:   被触发者  img    var pic = document.getElementById("pic");    pic.onmouseover = function(){        pic.onmouseout = function(){            pic.src = "images/jd1.png";        }        pic.src = "images/jd2.png";    }</script></body></html>

隐藏样式

display: none           display: block ;  显示的意思 visibility: hidden;       visibility: visible  显示的意思display  隐藏不占位置visibility:hidden 隐藏占有位置   停职留心overflow:hidden;   隐藏超出的部分。
<!DOCTYPE html><html><head lang="en">    <meta charset="UTF-8">    <title></title>    <style>        div{            width:100px;            height:100px;            background-color: pink;            margin:100px;        }        .one {            /*display: none;*/            visibility: hidden;        }    </style></head><body><div class="one">1</div><div class="two">2</div></body></html>

入口函数

 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>

模态框

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

padding

内边距会影响盒子大小
行内元素 尽量不用上下的padding和margin
继承的宽度 padding不会挤开 。

<!DOCTYPE html><html><head lang="en">    <meta charset="UTF-8">    <title></title>    <style>        .box {            width: 200px;            height: 200px;            background-color: pink;            /*padding-left: 20px;*/        }        .damao{            background-color: purple;            padding-left: 20px;            padding-top: 20px;        }    </style></head><body><div class="box">    <div class="damao">123</div></div></body></html>

Js 的书写位置

Js 的书写位置非常的自由。

也可以参照 css 的位置来分类:

行内式

<button onclick="alert('你好吗')">点击我</button>
一般情况,单双引号是一样 的 但是出现 了包裹的情况。
我们一般采取的是 外双内单的格式。
<a href=”javascript:;”></a>
<a href=”javascript:void(0);”></a>

内嵌式

<script type=”text/javascript”> </script> 任何一个地方

外链式

<script type=”text/javascript” src=”xx.js”></script>
这对标记之间不能写任何的东西。

<!DOCTYPE html><html><head lang="en">    <meta charset="UTF-8">    <title></title>    <script src="my.js" type="text/javascript"></script>外链式    <script>内嵌式        function fun(){            alert(1121313);        }    </script></head><body><div style="color:red;">123</div><button onclick="alert('你好吗')">点击我</button>行内式<button onclick="fun();">欢迎</button></body></html>

数据类型

Js 的数据类型分为:
字符型 数值型 布尔型 null undefined
Js 是一个是一种弱数据类型 。

var  Aa = 10;var  aa:int = 10;

Js 的变量你给什么值,它就是什么数据类型。

字符型 (string)

String
转换为字符型:

①利用 “” (双引号)
加了引号的都是字符型。
②利用String(); 转换为字符型

布尔型 (boolean)

就两个值正确的和错误的 true 和 false
数据类型转换为布尔型:
1. 利用 !!
console.log(typeof !!num);
2. 利用 Boolean()
false、undefined 、null、0、”” 为 false
true、1、”somestring”、[Object] 为 true

数值型

var num = 10;
数值的前面带 0 表示 八进制
var num = 020;
0*80+2*81 = 16
数值的前面带 0x 表示 十六进制
var result = 0xb; 11
转换为数值型:
1. 利用- * / 都可以转换
2 利用Number( )

parseInt() parseFloat()

parseInt(值, 进制);

<!DOCTYPE html><html><head lang="en">    <meta charset="UTF-8">    <title></title></head><body><script>    console.log(parseInt(19.11));    console.log(parseInt(19.99));    console.log(parseInt("25px"));    console.log(parseInt("px25px"));    console.log(parseInt(110,2));</script></body></html>

结果为:
19
19
25
NaN
6
parseInt(110,2)
表示2进制把10这个2进制转换为10进制 即为6

var a="15.15abc" , b='10.15' , c='10.0abc';alert(parseInt(a)+Number(b)+parseFloat(c));

结果为15+10.15+10.0=35.15

Null undefined

Null 空的 没有值 。
Undefined 未定义的 应该有值,但是没有给。

<!DOCTYPE html><html><head lang="en">    <meta charset="UTF-8">    <title></title></head><body><script>    var a;    var b = null;    console.log(a);     //undefined    console.log(a==b);  //true    console.log(a===b); //false    console.log(b+10);  //10    console.log(a+10);  //NaN</script></body></html>
原创粉丝点击