javascript是基于对象和事件驱动的脚本语言,主要应用在客户端(浏览器)
用来实现逻辑,动态网页
交互性(信息的动态交互)
安全性(不可以直接访问本硬盘)
跨平台性(只要是可以解析js的浏览器都可以执行,和平台无关)
Netscape(网景公司),之间是静态的效果。livescript(javascript的前身)
java诞生了,升级了,改名(javascript),火了。
巨头微软:自己开发了一套(jscript)
找一些公司推出的标准: SUN 微软 ECMA(欧洲计算机制造协会),联合推出现在的标准。
ECMAScript标准。基础上扩展。
js是基于对象,java是面向对象。
js解析就能执行,java要先编译再执行
js是弱类型的语言,java是强类型的语言
int a = 5; a = "str"HTML的文件提供了一个标签script,标签能放在任意位置
<script type="text/javascript"> // js的代码 alert("hehe"); //弹出一个提示框 </script>引入外部文件,有一个外部文件。编写js文件
<script src="引入的文件(路径)"></script> 如果script通过src的属性引入了外部文件,里面的js代码就不会执行了(重点,引入外部文件,就不再标签里面写代码了) <script type="text/javascript" src="demo.js"> // js的代码 alert("hehe"); //弹出一个提示框 //只会弹出文件的内容,alert("hehe")不应该写 </script>一个获取span的内容并弹出的内容
<span id="spanId">你好我是span</span> <script type="text/javascript"> //弹出span种的内容 alert(document.getElementByI("spanId").innerHTML); </script>script这里要放到span的后面。因为从上到下执行,可以用浏览器的f12调试
var 声明变量
和java一样
和java一样
声明变量,只使用一个关键字 var
var num = 1234; var str = "aaa"; num = "aaa";5种基本数据类型
Undefined 未定义(声明变量,没有赋值)
Null 空,给引用赋值的
Boolean 布尔类型
Number 不区分整数和小数
String js中双引号和单引号代表的都是字符串
var str = "aaa" //字符串 var str ='abc'; var num = 5; //数字类型 var num = 5.5; var flag = true; //布尔类型 var flag = false; var date = null; //null,date就是引用类型 var un; //未定义js中不同类型数据可以赋值
var num = 14; alert(num) num = "aaa"; alert(num);typeof() 判断当前变量是什么类型的数据
var num = 14; alert(typeof(num)); num = "aaa"; alert(typeof(num));加减法
var num = 3710; alert(num/1000*1000); //3710 var str = "12" alert(str + 1 ); //121 alert(str -1 ) //11 alert("abc" -1 ) //NaN非法的数字0或者null是false,非0或者非null是true,默认用1表示
alert(true + 1); //2 现在true解释为1 alert(false + 1); //1 现在false解释为0 if(5){ alert("abc"); //能弹出来 }和java一样
== 比较值是否相同
=== 比较值和类型是否相同
var num = 15; var str ="15"; if(num == str){ alert("两等号"); } if(num === str){ alert("三等号"); }和java中一样
条件?值1:值2
数组的声明
var arr=[11,22,33]; var arr = new Array(5); //长度是5 var arr = new Array(2,3,4); //元素是2 3 4数组的属性
长度:length
数组的长度可变的
var arr = [12,22,33]; alert(arr.length) //3 document.write(arr + "<br />"); arr[4] = 99; arr[5] = "abc"; document.write(arr);js中没有重载
add2(1,2,3,4); //3,参数不丢失也不报错,因为参数列表arguments是个数组,直接获取前两个 alert(arguments.length) //2方法也是对象
function getSum(){ return 100; } var sum = getSum; //拿到的是引用 alert(sum); //弹出方法体