JavaScript

    1 JavaScript概述

1.1什么是JS?

  全称 JavaScript, 简称JS,绝大多数现代网站都使用了Javascript,并且所有的Web浏览器–基于桌面系统,游戏机,平板电脑和只能手机的浏览器—均包含了Javascript解释器。所以它使用最广泛的编程语言.
  JS是一门基于对象和事件驱动的脚本语言,专门为网页交互而设计,主要应用在客户端(浏览器).
(1)基于对象
  注意,不是面向对象,在JS中没有类的概念,也不是通过类创建对象,同时JS没有编译的过程,是一边解释,一边执行!
(2) 事件驱动
  在JS中是通过事件触发机制来驱动函数执行,从而实现特定的功能
(3) 脚本语言
  在网络前端开发环境下,运行在客户端浏览器中的一段小程序 

1.2JS的特点

解释执行,不需要编译(JS没有编译的过程,是一边解释,一边执行!)
基于对象(不是面向对象)
弱类型的语言   

1.3JS的优势

交互性 ;安全性 ;跨平台性


1.4JS的引入

1.4.1通过script标签嵌入JS代码
这里写图片描述
 

这个标签可以放在head或body或页面的其他位置中

 
1.4.2通过script标签引入外部的JS文件
这里写图片描述
注意: 这种引入方式, 不要在script标签书写任何JS代码
这里写图片描述

2 JS的语法

2.1JS注释的格式

单行注释: //注释内容
多行注释: /* 注释内容 */
注意: 多行注释不要嵌套!!

2.2数据类型

2.2.1基本数据类型

1.数值类型(number)
  在JS中, 所有的数值在底层都是浮点型. 在需要的时候, 浮点型会和整型自动的进行类型的转换.
  

NaN(not a number), 表示非数字, NaN和任何数值都不相等, 包括他自己.

2.字符串类型(string)
  在JS中, 字符串类型属于基本数据类型. 字符串常量可以用单引号或双引号引起来.
如:
var str1 = “hello JS…”; 或 var str1 = ‘hello JS…’;
3.布尔类型(boolean)
true或false
4.undefined
  

undefined类型的值只有一个, 表示如果声明了变量,但是没有为其赋值,该变量的值就是undefined. 即未定义或未初始化值.

var a;  alert(a); //此处a的值为undefined
alert(b);//如果b没有声明, b的值为undefined

5.null
  null类型的值也只有一个, 就是null, 表示空值.
可以用作函数的返回值, 表示函数返回的是一个空的对象.

2.2.2复杂数据类型

对象(函数/数组/普通对象)

2.3变量的定义

在JS中用var关键字来声明变量.

var str = “hello js…”;

在JS中变量不区分类型, 可以指向任意的数据类型, 因此称JS是一门弱类型的语言.

    var str = “hello js…”;
    str = 100;
    str = true;
    str = new Array();

2.4运算符

JS中的运算符和Java中的大致相同.

(1)== 和 === 的区别
这里写图片描述

  两个等号, 在进行比较时, 如果两边的值不是同一种类型, 会自动转成同一种类型在进行比较.如果内容相同, 也会返回true.
  三个等号, 在进行比较时, 如果两边的值不是同一种类型, 直接返回false. 如果值是同一种类型, 内容相同才会返回true.   

(2)typeof 用来返回变量或表达式的数据类型
  在JS中, 由于变量不区分类型, 如果需要返回变量或表达式的数据类型, 可以通过typeof关键字来实现.
  这里写图片描述

typeof不是函数, 而是一个运算符!

(3)delete 用来删除数组中的元素, 或者对象上的属性或方法
这里写图片描述

2.5语句

JS中的语句和Java中的大致相同
2.5.1if…else
这里写图片描述 

 需要注意的是: 在JS中,除了0,NaN和空字符串“
”,其他字符串都可以自动转成布尔类型的true。if语句的判断条件可以不是boolean值, 如果值是别的类型,
会自动转换成boolean类型.

2.5.2switch
这里写图片描述
2.5.3循环语句
1.while循环
这里写图片描述

2.for循环
这里写图片描述

2.6数组

2.6.1通过Array构造函数创建数组
这里写图片描述
2.6.2通过数组直接量创建数组
这里写图片描述

2.6.3常用属性和方法

1.length属性
length属性用来返回数组的长度
JS中可以通过操作数组的length属性改变数组的长度
这里写图片描述
2.常用的方法
(1)push方法
这里写图片描述
(2)pop方法
这里写图片描述
(3)unshift方法
这里写图片描述
(4)shift方法
这里写图片描述
(5)reverse方法
这里写图片描述
(6)sort方法
这里写图片描述

2.7函数

2.7.1通过function关键字声明函数
这里写图片描述
2.7.2通过函数直接量声明函数
这里写图片描述

需要注意的是: 在调用函数时, 如果传入的参数和需要传的参数个数不匹配, 仍然可以调用函数.

2.8对象

2.8.1JS中的内置对象
1.String对象
这里写图片描述
(1)length属性 – 返回字符串的长度
(2)charAt方法 – 返回指定索引处的字符
(3)indexOf方法 – 根据子字符串到字符串进行查找, 返回子字符串第一次出现的位置.
(4)lastIndexOf方法 – 根据子字符串到字符串进行查找, 返回子字符串最后一处的位置.
(5)match方法 – 根据正则表达式到字符串中进行匹配, 返回包含所有符合正则表达式的子字符串的数组
这里写图片描述
(6)replace方法
这里写图片描述
(7) search方法 – 根据正则表达式到字符串中进行匹配, 返回第一次出现的位置.
这里写图片描述
(8) split方法 – 根据指定的字符切割字符串, 返回一个数组
(9) slice方法 – 从start开始截取, 截取到end这个位置.(包含start, 不包含end)
这里写图片描述
(10) substr方法 – 从start开始截取, 截取指定长度的字符串
这里写图片描述
(11) toLowerCase – 转小写
(12) toUpperCase – 转大写

2.Array对象

3.Date对象

(1)方式一
var date1 = new Date();//表示当前时间
alert(date1.toLocaleString());

(2)方式二
var date2 = new Date(1000*3600);//1970-1-1
alert(date2.toLocaleString());

(3)方式三
//月份是从零开始, 0表示1月, 11表示12月
var date3 = new Date(2017,10,11);
alert(date3.toLocaleString());
//获取年份
alert(date3.getFullYear());//2017
//获取月份
alert(date3.getMonth());//10(11月)
//获取哪一天
alert(date3.getDate());//11
//获取星期几
alert(date3.getDay())//6

4.Math对象

Math.PI – 返回圆周率
Math.ceill – 向上取整, 如Math.ceil(123.45) //124
Math.round – 四舍五入, 如Math.round(123.45) //123
Math.floor – 向下取整, 如Math.floor(123.78) //123
Math.random – 获取一个伪随机数(0~1之间的浮点数)

5.Global对象

  Global表示全局对象, 可以直接调用其属性或方法(不需要加对象点);
parseInt(); – 将传入的值转成整数, 如: parseInt(“123.45”) – 123
parseFloat();–将传入的值转成浮点数, 如: parseFloat(“123.45”) – 123.45
isNaN(); – 判断一个值是否是非数字, 如: isNaN(“123”);//false; isNaN(“abc”);//true
eval(); – 将一段字符串按照JS代码来解释执行.

6.RegExp对象

(1)方式一
Var reg1 = new RegExp(“^\w+@\w+(\.\w+)+$”);

(2)方式二
var email = “abc123@163.com”;
//abc123@sina.com.cn
var reg2 = /^\w+@\w+(.\w+)+$/;

(3)test方法, 用来检测字符串是否符合该正则表达式, 符合返回true, 不符合返回false
//^和$是开始和结束标记, 表示整个字符串都符合该正则表达式时才会返回true
alert(reg2.test(email));

(4)标识符
i – ignoreCase 表示忽略大写
g – global 表示全局查找

2.8.2自定义对象

方式一:
function Person(){}
var p1 = new Person();
p1.name = “张飞”;
p1.age = 18;
p1.run = function(){ alert(“running…”) }

方式二:
var p2 = {
    “name” : “赵云”, 
    “age” : 18,
    “run” : function(){
        alert(“running…”);
}
}

总结:
重点:JS的引入,数组的属性和方法,函数声明的两种方式,JS中的内置对象属性及方法的使用

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值