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可视化动态绘制连通图
上篇博客<iOS可视化动态绘制八种排序过程>可视化了一下一些排序的过程,本篇博客就来聊聊图的东西.在之前的博客中详细的讲过图的相关内容,比如<图的物理存储结构与深搜.广搜>.当 ...
- 浅谈 Fragment 生命周期
版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Fragment 文中如有纰漏,欢迎大家留言指出. Fragment 是在 Android 3.0 中 ...
- Python的单元测试(一)
title: Python的单元测试(一) author: 青南 date: 2015-02-27 22:50:47 categories: Python tags: [Python,单元测试] -- ...
- Autofac - 属性注入
属性注入不同于通过构造函数方式传入参数. 这里是通过注入的方式, 在类创建完毕之后, 资源释放之前, 给属性赋值. 这里, 我重新弄一些类来演示这一篇吧. public class ClassA { ...
- React Native Android gradle下载慢问题解决
很多人会遇到 初次运行 react-native run android的时候 gradle下载极慢,甚至会失败的问题 如下图 实际上这个问题好解决的 首先 把对应版本的gradle下载到本地任意一个 ...
- 信息安全-2:python之hill密码算法[原创]
转发注明出处:http://www.cnblogs.com/0zcl/p/6106513.html 前言: hill密码算法我打算简要介绍就好,加密矩阵我用教材上的3*3矩阵,只做了加密,解密没有做, ...
- 0042 MySQL学习笔记-入门--01
基本概念: 数据库DB(database): 数据的仓库,数据的集合,是数据的一种结构化的存储 数据库管理系统DBMS(database management system): 管理数据库的一套软件 ...
- python性能检测工具整理
python 运行后出现core dump产生core.**文件,可通过gdb来调试 Using GDB with a core dump having found build/python/core ...
- nginx安装
nginx工作模式-->1个master+n个worker进程 安装nginx的所需pcre库[用于支持rewrite模块] 下载软件方法: 搜索 pcre download 网址:http: ...
- Linux网络驱动--snull
snull是<Linux Device Drivers>中的一个网络驱动的例子.这里引用这个例子学习Linux网络驱动. 因为snull的源码,网上已经更新到适合最新内核,而我自己用的还是 ...