JavaScript 简称JS
- 用于给页面添加动态效果或动态内容的
- JS历史:1995年由网景(NetScape)公司发布 LiveScript 同年改名为JavaScript,和Java没有关系,为了蹭热度。
- 语音特点: 属于脚本语言不需要编译,由浏览器解析执行,JavaScript可以嵌套在html中 ,基于面向对象,弱类型的语言, 交互性:可以用户直接交换,安全性:该语言只能访问浏览器里面的内容
如何在html页面中引入JavaScript
在元素的事件属性中,如按钮的点击事件
<input type="button" value="点我试试!" onclick="alert('试试就试试!')">
在script标签中写js代表 script标签可以写在页面的任何位置 推荐写在head里面
<script type="text/javascript"> alert("第二种引入方式!"); </script>
在单独的js文件中写js代码 通过script标签中的src属性引入,引入过文件的script标签不能在标签体中 继续写js代码
<script type="text/javascript" src="first.js"></script>
JavaScript语法
数据类型,变量,运算符,语句,方法(函数)
数据类型
- 数值类型(number)
NaN (Not a Number) isNaN(18)= false isNaN(“abc”)=true - 字符串类型(string)
- 布尔值类型(boolean)
- 未定义类型(undefined)
- 对象类型(object)
变量的声明和赋值
var x = 18; //类型为number 值 18
var name = “张三”; //类型string 值 张三
var b = true/false; //类型Boolean 值 true/false
var y; //类型是undefined 值 undefined
var p = new Person();
数据类型之间的隐式转换
- js中数据类型会根据不同的场景进行自动类型转换
- 数值类型
- 转字符串: 直接转 18->”18” “abc”+18 = “abc18” (只有加法会把数值转字符串)
- 转布尔值: 0和NaN转false 非0即真(true)
- 字符串类型
- 转数值: 能转直接转 不能转则转成NaN; (NaN和任何数值进行任何运算结果都是NaN) “35”->35 “abc”->NaN
- 转布尔值: 只有空字符串(“”) 转false 其它true “”->false, “a”->true
- 布尔值类型
- 转数值: true=1 false=0 30+true=31 30+false=30
- 转字符串: 直接转 “abc”+true = “abctrue”
- undefined类型
- 转数值: NaN
- 转字符串: “undefined”
- 转布尔值: false
- null
- 转数值:0 28+null=28
- 转字符串: “null” “abc”+null = “abcnull”
- 转布尔值: false
运算符
- JS语言中的运算符和Java中大致相同
- ==和===,==会先将等号两端的类型统一然后再比较值,===先判断类型是否相等如果不等则直接false如果相等再比较值是否相等
- typeof typeof 66+6 =”number6”
- 两数相除 结果会自动生成整数或小数 5/2=2.5 4/2=2
语句 if else while do while for switch case
- JS语言中的语句和Java中大致相同
- 语句中写条件的括号中如果不是布尔值类型会自动转成布尔值
- JS中写法
`function run(age,name){
}`return "abc";
- 格式一: function 方法名(参数列表){ return xxx; }
- 格式二: var 方法名 = function(参数列表){ return xxx; }
和页面相关的函数
通过id得到页面中元素的函数
var input = document.getElementById("myinput");
从文本框中获取内容和设置内容
input.value = "abc"; alert(input.value);
给div设置文本内容
d.innerText="abc";
给div设置html内容
d.innerHTML+= "<h1>abc</h1>";