本系列文章Javascript一律简称js,javascript太长了((⊙﹏⊙)b)
- js概述
js是面向对象和基于事件驱动的解释型语言,主要用于WEB前端,处理用户交互。几年前js只是作为一种前端语言,现在js也可以作为后端语言了(nodejs),这个话题就留在高阶篇了了。
一切都是对象(everything is object),对象就是具体的事物,事物就包含了某些属性和某些行为。比如一个叫张三的学生,他的属性就有:姓名-张三,性别-男,兴趣-撸啊撸...,行为就有:吃,喝,拉,撒,睡...
事件驱动就对事件作出某些响应。比如点击网页上的登录按钮后(事件源,事件的起源),程序就提交用户名和密码到服务器判断能否登录(监听器,负责处理事件)。
js是有js解释器来执行的,js解释器一般嵌在浏览器中,这也是为什么js可以在浏览器运行的原因。
- js语法
命名规范:js变量和函数名称,可以用英文字母,数字,$(美元符),_(下划线)组合,但数字不能在首位(‘3abd’就不行),名称尽量做到看到名称就知道其代表的意义(由‘age'就知道是年龄),采用驼峰命名法(第一个单词首字母小写,后面其他单词首字母大写,比如"firstStudent")
js必须写在<script></script>块中,//是行注释,注释当前行;/**/是块注释,注释多行代码,注释里的内容不会被执行。
<script> /** ** 变量:表示一个属性的名称,比如“age”表示年龄;js中表示一个变量如下: **/ //var是申明符,告诉解释器age代表一个变量,分号表示结束 var age; //给age赋值 age = 24; //申明并赋值 var age = 24; /** 数据类型 **/ var age = 24; // number类型,表示数值 var name = "abc"; //String类型,表示字符串 var isGay = false; //Boolean ,布尔类型,表示真(true)或假(false) var date = new Date(); //引用类型,表示对象 var numbers = [1, 2, 3]; //引用类型,表示数组 var type = typeof false; //获取false为何种类,结果为boolean(布尔类型) var type1 = typeof {}; //这是什么类型? </script>
函数:
/**
函数:实现某个具体的功能,下面的函数实现一个加法:
**/
//一个加法函数 function sum(a,b){ return a + b; } //调用这个函数 var c = sum(1,2); alert( c ); //调试
//写一个阶乘的函数吧
运算符 :
<script> //算术运算 +(加),-(减),*(乘) ,/(除),%(模运算,就是取余数) var a = 1 + 3 ;// 结果是4 var b = 3 - 1 ; //结果是2 var c = 3 * 2 ; //结果是6 var d = 3 / 2 ; //结果是1.5 var e = 3 % 2 ; //结果是1 //逻辑运算 //短路与(&&,对应且的意思),有一个为假结果为假,都为真结果为真, var b1 = false && true;//结果为false var b2 = true && true ;//结果为true var b3 = (0>1) && (0<1);//若第一个表达式为假,则第二个表达式将不会运算 //短路或(||),有一个真结果为真,都为假结果才为假 var c1 = false || true ; //结果为true var c2 = false || false ;//结果为false //逻辑与(&),同短路与,唯一的区别是逻辑与两边的表达式都计算完了,再与运算,而 //短路与如第一个表达式的结果为false,就会“短路”,第二个表达式就不会计算了。 //逻辑或(|) 也是这个道理 var b4 = false & true; //结果是? var b5 = false | true; //结果是? //取反(!),取相反值 var d = !false ;//结果为true var d1 = !2 ;// 结果是? //位运算(略) //运算优先级(略) </script>
循环 :
<script> //循环,重复做某件事,这里只介绍常见的for循环 //打10次招呼,i=0是初始变量,i<10时结束循环,每循环一次i +1 for(var i = 0 ; i< 10;i++){ console.log("hi~~~"); } //跳出整个循环,break //当i==5时跳出【整个循环】,后面将不再执行,这里会打几次招呼? for(var i = 0 ;i<10 ;i++){ if(i == 5){ break; } console.log("hi~~~"); } //跳出某次循环,continue //当i==5时跳出【这次循环】,后面将继续执行,这里会打几次招呼? for(var i = 0 ;i<10 ;i++){ if(i == 5){ continue; } console.log("hi~~~"); } //写一个九九乘法表吧 </script>