JavaScript基础知识总结(二)
JavaScript语法
二、数据类型
程序把这些量、值分为几大类,每一类分别叫什么名称,有什么特点,就叫数据类型。
1.字符串(string)
字符串由零个或多个字符构成,字符包括字母,数字,标点符号和空格;
字符串必须放在引号里(单引号或双引号)。
var mood = "happy";
var mood = 'happy';
用引号括起来的内容,就是字符串类型 了;
如果内容有单引号也有双引号的时候,使用转义字符"\",作用:解决冲突
2.数值(number)
var age = 20;
var price = 20.50;
在生活中的数字也是区分 数值和字符串类型的:
当作数字、数目的时候,例如年龄、价格,就是数值类型(number);
当作编号的时候,例如身份号码、学号,就是字符串类型(string);
3.布尔类型(boolean)
布尔类型数据只能有两种值:true 和 false;
布尔值的true和false就是逻辑里面的真假,也是计算机语言里里面的0,1;
var married = true;
var married = false;
注意:与字符串不同,不要把布尔值用引号括起来。布尔值 false 与 字符串 "false"是两回事。
4.对象(object)
Javascript是一种面向对象的语言,因此可以使用面向对象的思想来进行对象就是由一些彼此相关的属性和方法集合在一起而构成的一个数据实体。
例如:Date日期对象
Date对象用来处理日期和时间
//新建日期对象,然后赋值给变量today
var today = new Date;
//使用日期对象获取年份的方法得到今年的年份,然后赋值给变量year
var year = today.getFullYear();
//使用日期对象获取月份的方法得到这个月的月份,然后赋值给变量month
var month = today.getMonth() + 1;
//使用日期对象获取到日期数的方法得到今天是几号,然后赋值给变量day
var day = today.getDate();
//将年份、月份、日期输出到页面
document.write(year+"年"+month+"月"+day+"日"); //时分秒
var hours = today.getHours();
var minutes = today.getMinutes();
var seconds = today.getSeconds();
document.write(hours+"时"+minutes+"分"+seconds+"秒");
5.Array数组
变量一般都只能存储一个内容,所以变量是一个单一的容器;
数组一般可以存一个或者是多个值 ,所以数组是一个大的容器。
数组的组成部分:
数组其实是由多个(键-值)所组成的一个多容器
数组的索引,默认是从0开始的
//方式一
var arr1 = new Array(1,2,3,4,5,6,7,8,9,0);
//方式二
var arr2 = [1,2,3,4,5,6,7,8,9,0];
//方式三
var arr3 = new Array();
arr3[0] = 1;
arr3[1] = 2;
多维数组:
var arr = [
[1,2,3],
[4,5,6]
];
document.write(arr[1][2]); //
6.null,underfined
null
在 JavaScript 中 null 表示 "什么都没有"。
null是一个只有一个值的特殊类型,表示一个空对象引用。
你可以设置为 null 来清空对象:
var person = null;
underfined
在 JavaScript 中, undefined 是一个没有设置值的变量。
typeof 一个没有值的变量会返回 undefined。
你可以设置为 undefined 来清空对象:
var person = undefined;
null 和 underfined 的区别 :
typeof undefined // undefined
typeof null // object
null === undefined // false
null == undefined // true
三、数据类型的查看和转换
1.查看数据类型 typeof
var mood = "happy";
alert(typeof mood); //outputs : string
alert(typeof 95); //outputs : number
2.转换成字符串
var married = false;
alert(married.toString()); // outputs : "false" var age = 25;
alert(age.toString()); //outputs : "25"
3.转换成数字
parseInt() 转换成整数
var test = parseInt("blue"); //returns NaN
var test = parseInt("1234blue"); //returns 1234
var test = parseInt("22.5"); //returns 22
var test = parseInt("asd23434"); //returns NaN
NaN:不是数值的数值
parseFloat() 转换成浮点数
var test = parseFloat("1234blue"); //returns 1234
var test = parseFloat("22.5"); //returns 22.5
不同类型的运算:
var a = "23";
var b = 1;
alert(a+b); //231 说明:如果不是同种类型的话,那么+代表的是拼接的意思
alert(a-b); //22 说明:除了+这种特殊的运算方式以外,即使是不同类型也能够进行运算
4.判断变量类型
A,判断字符串
typeof(a)=="string";
B,判断数值
typeof(a)=="number";
C,如果是一个数值类型,但内容不是一个有效的数字,会显示NaN,判断NaN isNaN(a)
D,判断变量是否为空(未定义变量。或定义变量但没进行初始化就会出现)typeof(a)=="undefined"
四、运算符
1.算术运算符(+ - * / %)
alert("10"+20); //return 1020;
alert(10+20); //return 30;
alert(20-10); //return 10;
alert(10*5); //return 50;
alert(10/5); //return 2;
alert(10%5); //return 0;
2.后增量/后减量运算符 ++ ,--
var i = 0,
j = i++; // 先赋值后运算
console.log(j); //j=0
前增量/前减量运算符 ++ ,--
var i = 0,
j = ++i; // 先运算后赋值
console.log(j); //j=1
3.比较运算符 (>, <, >=, <=, ==, !=)
alert ( 10 > 5 ); //outputs true var i = 100;
var n = 100;
alert(i == n); //outputs true
alert(i != n); //outputs false
alert(i === n); //outputs true 数据类型和值都相等
4.逻辑运算符(&& 与, || 或 , ! 非)
var i = 8;
alert ( i<5 && i<10); //outputs false
alert ( i > 100 || i < 10); //outputs true
alert(!(10 > 5)); //outputs false
五、JavaScript的注释
// 单行注释
/* …*/ 多行注释
六、程序流程控制
1.条件语句 if
语法:if(condition) statements1 else statement2
例子:
var i = prompt("您的成绩是:");
if(i >= 80) {
alert("成绩优异");
}else if(i >= 60) {
alert("成绩合格");
}else{
alert("成绩不合格");
}
2.switch 语句
相当于条件判断的变种方式,或者是另外的一种形式
语法:
switch (expression){
case value:
//statement
break;
case value:
//statement
break;
default:
//statement
}
例子:
var i = prompt("请选择套餐A,B,C,D");
switch (i) {
case "A":
alert("您已订购A套餐");
break;
case "B":
alert("您已订购B套餐");
break;
case "C":
alert("您已订购C套餐");
break;
case "D":
alert("您已订购D套餐");
break;
default:
alert("欢迎下次光临");
}
JavaScript基础知识总结(二)的更多相关文章
- JavaScript基础知识(二)
一.JavaScript事件详解 1.事件流:描述的是在页面中结束事件的顺序 事件传递有两种方式:冒泡与捕获. 事件传递定义了元素事件触发的顺序. 如果你将 <p> 元素插入到 <d ...
- 林大妈的JavaScript基础知识(二):编写JavaScript代码前的一些简单工作
在介绍JavaScript语法前,我们需要知道,学习语法必须要多利用手敲代码来巩固记忆.因此,由于JavaScript的特性,它不能像C++和Java一样独立地编译及运行,我们需要在调试运行JavaS ...
- Jquery源码中的Javascript基础知识(二)
接上一篇,jquery源码的这种写法叫做匿名函数自执行 (function( window, undefined ) { // code })( window ); 函数定义了两个参数window和u ...
- JavaScript 基础知识(二):闭包
首先来思考一下下面的案例: function unclosure() { let count = 0 return count++ } for (let index = 0; index < 1 ...
- Javascript基础回顾 之(二) 作用域
本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...
- 学习javascript基础知识系列第二节 - this用法
通过一段代码学习javascript基础知识系列 第二节 - this用法 this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascr ...
- 学习javascript基础知识系列第三节 - ()()用法
总目录:通过一段代码学习javascript基础知识系列 注意: 为了便于执行和演示,建议使用chrome浏览器,按F12,然后按Esc(或手动选择)打开console,在console进行执行和演示 ...
- JavaScript 基础知识 - BOM篇
前言 本篇文章是JavaScript基础知识的BOM篇,如果前面的<JavaScript基础知识-DOM篇>看完了,现在就可以学习BOM了. 注意: 所有的案例都在这里链接: 提取密码密码 ...
- Javascript基础知识总结一
Javascript基础知识总结一 <!DOCTYPE html> <html> <head lang="en"> <meta chars ...
- Java JDBC的基础知识(二)
在我的上一篇Java JDBC的基础知识(一)中,最后演示的代码在关闭资源的时候,仅仅用了try/catch语句,这里是有很大的隐患的.在程序创建连接之后,如果不进行关闭,会消耗更多的资源.创建连接之 ...
随机推荐
- premere cs4绿色版 安装 并且 视频导出 讲解
最近室友,开始在玩视频剪辑,用的是 premere cs4 绿色版.让他遇到的最大问题也是我之前遇到的最大问题,就是视频导出. 所以我在这里上传一套自己的一点点经验吧. 接下来,我就总结一下 我是怎么 ...
- 我为NET狂官方面试题-数据库篇
求结果:select "1"? 查找包含"objs"的表?查找包含"o"的数据库? 求今天距离2002年有多少年,多少天? 请用一句SQL获 ...
- VisualStudio2013 如何打开之前版本开发的(.vdproj )安装项目
当你的项目使用早于 visualstudio2013 的版本开发并且使用 Visual Studio Installer 制作安装项目时,在升级至 VS2013 后会发现新安装项目无法打开, VS20 ...
- Node.js:dgram模块实现UDP通信
1.什么是UDP? 这里简单介绍下,UDP,即用户数据报协议,一种面向无连接的传输层协议,提供不可靠的消息传送服务.UDP协议使用端口号为不同的应用保留其各自的数据传输通道,这一点非常重要.与TCP相 ...
- 利用Node.js的Net模块实现一个命令行多人聊天室
1.net模块基本API 要使用Node.js的net模块实现一个命令行聊天室,就必须先了解NET模块的API使用.NET模块API分为两大类:Server和Socket类.工厂方法. Server类 ...
- [C#] 走进异步编程的世界 - 开始接触 async/await
走进异步编程的世界 - 开始接触 async/await 序 这是学习异步编程的入门篇. 涉及 C# 5.0 引入的 async/await,但在控制台输出示例时经常会采用 C# 6.0 的 $&qu ...
- beans.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- java8中lambda表达式的应用,以及一些泛型相关
语法部分就不写了,我们直接抛出一个实际问题,看看java8的这些新特性究竟能给我们带来哪些便利 顺带用到一些泛型编程,一切都是为了简化代码 场景: 一个数据类,用于记录职工信息 public clas ...
- pandas基础-Python3
未完 for examples: example 1: # Code based on Python 3.x # _*_ coding: utf-8 _*_ # __Author: "LEM ...
- Dynamics CRM 之ADFS 使用 WID 的联合服务器场
使用 WID 的联合服务器场 默认拓扑 Active Directory 联合身份验证服务 (AD FS) 是联合服务器场,使用 Windows 内部数据库 (WID). 在这种拓扑, AD FS 使 ...