目录
简介: 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。
作用:
1.与用户交互
2.操作html标签
3.操作css样式
4.业务处理
代码书写位置:
1.在script标签中书写
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8" />
- <title></title>
- <script type="text/javascript">
- console.log("你好世界");
- </script>
- </head>
- <body>
-
- </body>
- </html>
2.在js文件中书写,通过link,使用script标签引入
3.在标签事件中引入
注释:都行
- //
- /**/
输出:
console.log("输出的内容");
js为弱类型语言,Java为强类型语言
一律使用var定义,但是其中存储的值是有类型的
Undefined - - (未定义)
Null- - (空的)因为从逻辑的角度null指向空对象指针,所以使用typeof关键字得到的数据 类型为 object
Number - - (数字)
Boolean- - (布尔值)
String- - (字符串)
Object与它的子类
例:array(数组),function(函数),date(时间)
1,可以通过typeof关键字,获取数据的数据类型,null值的数据类型是Object
typeof的用法:
typeof 值/变量名;
- var a1= "123";
- console.log(typeof a1);
![]()
2,所有基本数据类型的数据都可以作为boolean型使用
0,null,undefined,""对应的boolean型为false
特殊值:
null:空
undefined:未定义
NaN:是not a number的缩写,表示不是一个合法的数字.其类型为number.
语法:var 变量名 = 值;
例:
- var a = 10;
- var b = 10.1;
- var c = true;
- var d = "xx";
- var e = 'a';
- var f = null;
- var g;
- var h = function(){
- console.log("自定义函数");
- };
- var i = [];
- i[0] = 10;
- var o = {"name":"张三","sex":"男","eat":function()
- {console.log(this.name+"吃饭")}};//定义一个对象
+,-,*,/,%
注意:js中不分整数与小数,所以当10/3结果为3.33333循环
=,+=,-=,*=,/=,%=
+
、>=、<=、== 、!=、===(绝对等于:值和类型都相同)
- var a=10;
- var c="10";
- console.log(a==10);
- console.log(a===c);

&& 与
|| 或
! 非
js中所有类型的变量都可以作为boolean型变量使用 0,null,undefined,""(空字符)都是false
&&当所有值为真,返回最后一个表达式的值.当表达式中有假返回第一个假的表达式
||当所有值为假,返回最后一个表达式的值,当有一个为真,返回第一个为真的表达式
- var a = 1;
- var b = true;
- var c = "xx";
- var d = 0;
- console.log(a && b && c);
- console.log(d && b && c);
- a = 0;
- b = false;
- c = "";
- d = 1;
- console.log(a || b || c);
- console.log(d || b || c)

语法:var 变量名 = 条件表达式?值1:值2;
条件为true真,返回值1
条件为false假,返回值2
if
switch
- switch(n){
- case v1:
- 代码1;
- break;
- case v2:
- 代码2;
- break;
- case v3:
- 代码3;
- break;
- ...
- case vN:
- 代码N;
- break;
- default:
- 代码M;
- break;
- }
while
do while
for
break
continue
也可以使用标记,跳出多层循环
- a: for(var i=0 ;i<10;i++){
- for (var j = 0 ; j < 10 ; j++) {
- for (var k = 0;k < 10; k++) {
- console.log(i*100+j*10+k);
- if(i==5){
- break a;
- }
- }
-
- }
- }
- try{
- var c = new Array(9999999999);//会产生RangeError
- }catch(RangeError){//
- console.log("超出范围")//出现错误执行的代码
- }finally{
- console.log("必须执行的代码");//不管有没有错必须执行的代码
- }
由于是弱类型,不用写返回值类型,参数列表直接传值
语法1:
funation 方法名(形参列表){
方法体
}
- function add(a,b){
- return a+b;
- }
语法2
var 变量名 = function(形参列表){
方法体
}
- var sum = function(a,b){
- return a+b;
- }
调用:
方法名(实参列表);//不接收返回值
var 变量名 = 方法名(实参列表);//接收返回值
数组的定义
方式1:var 数组名 = [];
方式2:var 数组名 = new Array();
1. 取值语法:数组名[下标]
2 .改值语法:数组名[下标] = 值;
3.尾部添加:数组名.push(值或其他数组);
- var a1=[1,2,3,4];
- var a2=new Array();
- a2=[5,6,7,8];
-
- a1.push(a2);
-
- console.log(a1);
- console.log(a1[4]);
-
- 当数组被当作值添加时,被添加的下标所对应的时被添加的数组
![]()
4. 删除值:delete 数组名[下标];
删除之后,此处的值会为空,还会占用下标
- console.log(delete a1 [0])
- console.log(a1)

5.删除的返回值为布尔型
获取长度:var 变量名 = 数组名.length;
对象的定义
方式1:{ },直接创建对象
- var student = {
- "name":"巴尔",
- "sex":"女",
- "age":2500,
- "cook":function(){
- console.log(this.name+"做饭");
- }
- }
-
- student.cook();//调用属性或方法
方式2:构造器
- function User (name,age){
- this.name = name;
- this.age = age;
-
- this.eat = function(){
- console.log(this.name + "干饭");
- }
- }
-
- var s1 = new User("布耶尔",500);//先new
- s1.eat();//再调用
添加属性或方法:
使用prototype方法
- function User (name,age){
- this.name = name;
- this.age = age;
-
- this.eat = function(){
- console.log(this.name + "干饭");
- }
- }
-
- User.prototype.sex="女";//添加属性,只能默认了是这个了
- User.prototype.cook=function(){//添加函数
- console.log(this.name+this.sex+"做饭");
- }
类似与jdk提供的类
- 1.创建String对象
- var str1 = "qwer";
- var str2 = new String("java");
-
- 2.属性
- length属性获取当前字符串的长度
- var len = str1.length;
-
- 3.常用函数
- charAt : 获取str1中索引为3的字符(索引从0开始)
- var c = str1.charAt(3);
-
- indexOf: 获取str1中第一次出现"edu"的索引
- var i = str1.indexOf("edu");
-
- lastIndexOf: 获取str2中最后一个“o”的索引
- var j = str2.lastIndexOf("o");
-
- split :分隔字符串,将str1用"."分隔成多个字符串,存放到arr中
- var arr = str1.split(".");
-
- substring : 从str1字符串索引为4的位置开始截取,直到str1结束
- var s1 = str1.substring(4);
-
- 从str1字符串索引为4的位置开始截取(包含),直到索引为9的位置(不包含)
- var s2 = str1.substring(4,9);
-
- substr:从str1字符串索引为4的位置开始截取(包含),一共截取5个字符
- var s3 = str1.substr(4,5);
-
- toUpperCase : 将str2所有字母都转大写
- var s4 = str2.toUpperCase();
-
- toLowerCase : 将str2所有字母都转小写
- var s5 = str2.toLowerCase();
-
- match : 判断str3字符串的格式是否匹配reg的规则,如果不匹配则返回值为null,正确
- 返回该值
- var str3 = "1303030330"; //假设str3是用户在页面输入的手机号
- var reg = "^1[3,5,7,8]\\d{9}$"; //手机号码的规则(正则表达式)
- var b = str3.match(reg);
-
- var str = "1303030330";
-
- // 一个RegExp对象就是一个正则规则,RegExp对象的test函数进行正则校验
- var reg = new RegExp("^1[3578]\\d{9}$");
-
- //test 函数:如果匹配返回true,不匹配返回false,匹配返回true
- var b = reg.test(str);
正则表达式:
var e = Math.E;//获取e值
var pi = Math.PI ;//获取pi值
随机数:
- //random : 随机产生一个[0,1)小数
- var num = Math.random()
对数字简单处理:
-
- //round : 对参数进行四舍五入得到一个整数
- var i = Math.round(num); //0-10
-
- //floor:只舍不入,获取比参数小的最大整数
- var j = Math.floor(num); //0-9
-
-
- //ceil: 只入不舍,获取大于等于参数的最小整数
- var k = Math.ceil(num);
-
- // abs : 获取参数的绝对值
- var m = Math.abs(-5);
-
- //sqrt : 获取参数的平方根
- var n = Math.sqrt(9);
- //1.创建Date对象:一个Date对象就表示一个时间,new Date()表示系统当前时间
- var date = new Date();
-
- //2. 函数
- // set*: 设置当前日期的日期成分
- date.setFullYear(2029);
- date.setMonth(11);
- date.setDate(28);
-
- // get* : 从当前日期对象中获取 时间成分 (年月日时分秒毫秒星期)
- var year = date.getYear()+1900; //获取年份,相对于1900年的偏移年份
- var year2 = date.getFullYear(); //今夕是何年?
- var month = date.getMonth()+1; //获取月份0-11
- var d = date.getDate(); //获取日期
- var hour = date.getHours(); //获取小时
- var min = date.getMinutes(); //获取分钟
- var sec = date.getSeconds(); //获取秒
- var ms = date.getMilliseconds(); //获取毫秒
- var day = date.getDay(); //获取星期
- var timeStr = year+"年"+month+"月"+d+"日 "+hour+":"+min+":"+sec+" "+ms+"ms"+" 星期"+day;
- console.log(timeStr);
![]()
简介:通过全局对象Functions调用全局函数,Functions没有名称,因此全局函数可以直接调用
- //parseInt:将字符串转换成整数数值
- var s1 = "123";
- var m = parseInt(s1);
-
- //parseFloat:将字符串转换成小数数值
- var s2 = "3.14";
- var n = parseFloat(s2);
- var url = "http://www.baidu.com/?param=中华有我";
-
- //encodeURI : 对网址的参数部分进行编码(特殊符号和中文
- var newUrl = encodeURI(url);
-
- //decodeURI:对编码后的网址进行解码
- var url2 = decodeURI(newUrl);
-
- //escape:对字符串中的特殊和中文进行编码
- var str1 = "My name is 赵日天";