一、什么是js?
一个面向对象的跨平台脚本语言。
二、js能做什么?
a、与html交互
b、与浏览器交互
c、与服务器交互
三、js分成三个部分
ECMAScript:是语法规则
DOM:html(文档对象模型)
BOM:浏览器对象模型
四、基本语法
<script>//这个标签用来写js代码
alert(11);//是一个弹窗输出语句,是一个方法
</script>
<script>的作用,提供给浏览器的js解析器来解析用的。
<script>除了title标签以外,任何地方都可以使用
可以有多个。
<script>
alert("<\/script>");如果需要输出一些有特殊意义的符号,需要转义。
<script src="index.js">
alert("33445")//当引入一个外面js时,这里的代码是废代码。永远执行不到
</script> alert()数字不要加双引号,变量也不需要加双引号。字符串要加双引号,文字输出也要加双引号。
</script>
浏览器解析js代码执行的原理:
从上到下,从左到右,逐行执行。
五、注释
// 单行注释
/* */多行注释
六,变量
变量:会变化的量;
标识符 名称(变量名)=值;
1)var a=10;
var b=10;
2)var a=10,b=10;
3)var a=10
var b=10;(一般不这样写)
这三者不会出错。
而var a=10 var b=10;
var a=10 b=10;会报错。
所有的值,只要加上了一个"",这个值就是一个字符串类型的值。
七、变量的命名规则
命名规范:
1.以字母、下划线或$开头,其它字符可以是字母、下划线、数字、$
2.不能以关键字或保留字作为变量名
关键字:具有特殊功能的词语
保留字:
命名规则:
1.驼峰命名法(小驼峰)userName
2.匈牙利法 根据变量的值数据类型来决定的变量名,第一个字母用数据类型的关键字的第一个字母。
sname
iage
operson
八、赋值 、关系、算术运算符
赋值运算符:
简单赋值运算:=
复合赋值运算:+= -= *= /=
关系运算符:> < >= <= ==(比较两个值是否相等) ===(不仅要比较值,也要比较类型) !=(比较两个的值) !==(比较两个值,也比较两个类型)
算术运算符:+ - * /(取商) %(取余,求模)
九、数据类型
基本数据类型:
number、string、boolean、null、undefine(声明变量,未赋值)
对象数据类型(引用数据类型)
数据 函数 对象。
十、检测一个值是什么数据类型
typeof 操作符,用来检测数值是什么类型
十一、变量不同类型之间的自动、手动转换
alert(1==true);//true
alert(0==false);//true
alert(0 == "");//true
alert(0 == null);//false;
alert(0 == " ");//?true;
alert(2 == "2");//true;
alert("" == null);//false;
alert(0==undefined);//false
alert(null==undefined);//true
alert(2-"5");//-3
alert(NaN == NaN);//false
alert(undefined == undefined);//true
alert(undefined == NaN);//false
alert(null == NaN);//false
补充:小数.tofixed(3)//四舍五入,3是保留的小数位数
表达式:希望一个式子运行的结果是一个布尔值,
1.逻辑运算:用运算符构成的一个式子叫表达式,最后得到的计算结果是一个Boolean
或 || ( ||两边,有一边为true,整个表达式为true。两边都为false的时候,表达式才为false。)
与 && (&&两边的值如果都是true,整个用&&构成的表达式最终结果返回的结果是true;
只要有一边是false,表达式最终结果是false。)
非 ! (取相反的布尔值的结果。)
经典案例:(面试可能会出现)
var a=null || false;//是false。
var a=null || false || true;//是true;
var b=4 || true;//是4;
var b=4&& true;//是true;
var b=4 && 0 || 7;//是7;
var b=4 && 0 && 7;//是0;
注意:&&与||的区别:
当&&的左边表达式为false时,整个表达式就结束了。
当||的左边表达式为true时,整个表达式就结束了。
2.三目运算:
表达式(true/false)?true(执行语句1):false(执行语句2)。
当表达式返回结果为true时候执行语句1,否则执行语句2.
3.自增自减(单目运算)
单目运算:当这个运算符左右两边只有一个被计算的值的时候,这个运算符就是一个单目运算符。
++ 在原来的基础上累加1;
- - 在原来的基础上累减1;
var b=++a;//++在前先在a基础上加上1,再赋值给b。
var b=a++;//++在后先把a的值赋值给b,再a的原来的基础上+1;
4.运算符的优先级
()> 单目运算符 > 算术运算符 > 比较运算符 > 逻辑运算符 > 三元运算符 > 赋值
5.prompt()
这个方法执行之后会在页面弹出一个弹窗,当用户在弹窗输出内容,并点击确定时,这个内容保存在方法体中
一些案例
一、<script type="text/javascript">
/*
* 小明要到美国旅游,可是那里的温度是以华氏度为单位记录的。
它需要一个程序将华氏温度(80度)转换为摄氏度,并以华氏度和摄氏度为单位分别显示该温度。
提示:摄氏度与芈氏度的转换公式为:摄氏度 = 5/9.0*(华氏度-32),给小保留3个小数
*/
//she = 5/9.0*(80 - 32);
var h = 80;
var s = 5/9.0*(h - 32);
alert("摄氏度是:"+s.toFixed(3));
</script>
二、<script type="text/javascript">
//为抵抗洪水,战士连续作战89小时,编程计算共多少天零多少小时?
var hour = 24;
var hours = 89;
var days = parseInt(hours/hour);//把小数去掉
var h = hours%hour;
alert("共"+days+"天"+h+"小时")
</script>