一、什么是JS(java script)?
java script是一种脚本语言,被广泛用于Web应用开发,常用来为网页添加各式各样的功能,为用户提供更加流畅的浏览效果。
java script严格区分大小写。
前端三剑客:html+css+js
html:结构(房子)
css:样式(装修)
js:行为(动态的修改行为和样式:房子的结构和装修想改就改)
使用JS的三种写法:
1、在标签内部完成(不常用)
例:(alert("弹窗内容"):出现一个弹窗)
<a href="java script:alert(0);">点我啊!</a> <p onclick="alert('来啦老弟!')">请点击我!</p>
2、在script标签中完成(注意:script标签可以写在html中的任意位置,但建议写在页面最底部,利于提高用户体验)
<script type="text/java script"> alert("哈哈哈"); </script>
3、外连式(创建一个Js文件,里边写的都是Js代码,然后再html中引用)
html文件中引用js文件:
<!-- 因为ha.js文件和咱们这个html文件在同一文件夹,所以路径直接写src="ha.js" --> <script type="text/java script" src="ha.js"></script>
js文件(后缀为.js的文件):
//js代码就写在这里,如下: //当页面刷新就会弹窗以下弹框 window.onload=function(){ //alert()是一个弹窗 alert("欢迎您的到了!"); }
二、JS的特性
1、js的数据类型
js中的数据类型只有三种:number,String,boolean
number:所有数字类型的统称。
String:字符串类型。
boolean:布尔类型(true/false)
2、特殊类型
NaN:出现非数字
Infinity:除数为0
undefined:未定义
null:空(必须主动赋值才会是null,没有赋值都为undefined)
3、运算符
==:代表普通比较
===:代表全等
" "和undefined表示没有值:null其实是一个值
||:或(注意:在java中,||返回的一定是boolean值,但在js中,返回的是第一个为true的值)
三、具体实例
1、JS预编译
js的代码执行顺序是从上往下执行,但在代码执行之前js会事先大概扫描一遍,把所有变量的定义放到最前面(只是定义,不包括值)
<script type="text/java script"> //js的代码执行顺序是从上往下执行 //但在代码执行之前js会事先大概扫描一遍,把所有变量的定义放到最前面(只是定义,不包括值) var use="23"; console.debug(use); //结果为23 var userna; console.debug(userna); //结果为undefined console.debug(us); var us; //结果为undefined console.debug(username); var username="23"; //结果为undefined console.debug(usern); //直接报错,因为usern没定义 </script>
2、对象三步曲
1、创建对象
2、设置对象的属性和方法:添加,修改,删除
3、获取对象的属性和方法
<script type="text/java script"> //1、创建对象 //var obj = new object(); var obj = {}; //2.设置对象的属性与方法(.和[]是一样的) //添加属性方法一: obj.name="小王" obj.age =23; obj.say = function(){ console.debug("过来呀!"); } //添加属性方法二: obj["name"]="小王"; obj["age"] =23; obj["say"]= function(){ console.debug("过来呀!"); } /* for...in是用于循环与遍历数组/对象的 数组:key就是下标 对象:key就是对象的属性 */ for(var key in obj){ //key是下标 //输出属性和属性类型 console.debug(obj[key],typeof obj[key]); //如果obj对象的属性类型为方法,就输出 if(typeof obj[key] == "function"){ //输出属性 console.debug(obj[key]); //调用对象中 的方法属性 obj[key](); } } //修改(修改与添加设置写法是一样的) obj.name="小李"; //删除某一个属性 delete obj.age; //3.获取属性和方法 console.debug(obj.name); console.debug(obj.age); console.debug(obj.say); obj.say(); </script>
3、arguments(获取到调用函数时传进去的所有参数)
js内置了很多对象(如:arguments ): 内置对象(js自动为你准备好的)
arguments -> 每次调用方法都会在方法中创建这对象
arguments -> 伪数组(它里面装的就是这个方法的所有参数)
<script type="text/java script"> /** js中调用函数(方法)和参数无关 js内置了很多对象: 内置对象(js自动为你准备好的) arguments -> 每次调用方法都会在方法中创建这对象 arguments -> 伪数组(它里面装的就是这个方法的所有参数) */ function add(){ //打印每次调用add方法时传的所有参数 consol