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语句,这里是有很大的隐患的.在程序创建连接之后,如果不进行关闭,会消耗更多的资源.创建连接之 ...
随机推荐
- iOS代码规范(OC和Swift)
下面说下iOS的代码规范问题,如果大家觉得还不错,可以直接用到项目中,有不同意见 可以在下面讨论下. 相信很多人工作中最烦的就是代码不规范,命名不规范,曾经见过一个VC里有3个按钮被命名为button ...
- Java 线程
线程:线程是进程的组成部分,一个进程可以拥有多个线程,而一个线程必须拥有一个父进程.线程可以拥有自己的堆栈,自己的程序计数器和自己的局部变量,但不能拥有系统资源.它与父进程的其他线程共享该进程的所有资 ...
- 使用ServiceStack构建Web服务
提到构建WebService服务,大家肯定第一个想到的是使用WCF,因为简单快捷嘛.首先要说明的是,本人对WCF不太了解,但是想快速建立一个WebService,于是看到了MSDN上的这一篇文章 Bu ...
- Docker笔记一:基于Docker容器构建并运行 nginx + php + mysql ( mariadb ) 服务环境
首先为什么要自己编写Dockerfile来构建 nginx.php.mariadb这三个镜像呢?一是希望更深入了解Dockerfile的使用,也就能初步了解docker镜像是如何被构建的:二是希望将来 ...
- AutoMapper:Unmapped members were found. Review the types and members below. Add a custom mapping expression, ignore, add a custom resolver, or modify the source/destination type
异常处理汇总-后端系列 http://www.cnblogs.com/dunitian/p/4523006.html 应用场景:ViewModel==>Mode映射的时候出错 AutoMappe ...
- javascript之Object.defineProperty的奥妙
直切主题 今天遇到一个这样的功能: 写一个函数,该函数传递两个参数,第一个参数为返回对象的总数据量,第二个参数为初始化对象的数据.如: var o = obj (4, {name: 'xu', age ...
- Java 堆内存与栈内存异同(Java Heap Memory vs Stack Memory Difference)
--reference Java Heap Memory vs Stack Memory Difference 在数据结构中,堆和栈可以说是两种最基础的数据结构,而Java中的栈内存空间和堆内存空间有 ...
- Spring cache简单使用guava cache
Spring cache简单使用 前言 spring有一套和各种缓存的集成方式.类似于sl4j,你可以选择log框架实现,也一样可以实现缓存实现,比如ehcache,guava cache. [TOC ...
- .NET应用和AEAI CAS集成详解
1 概述 数通畅联某综合SOA集成项目的统一身份认证工作,需要第三方系统配合进行单点登录的配置改造,在项目中有需要进行单点登录配置的.NET应用系统,本文专门记录.NET应用和AEAI CAS的集成过 ...
- 【干货分享】流程DEMO-合同会审表
流程名: 合同会审表 业务描述: 合同的审批及签订 流程相关文件: 流程包.xml 事务呈批表业务服务.xml 事务呈批表主数据.xml 流程说明: 1.此流程必须先进行事务呈批表流程的配置才可 ...