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基础知识总结(二)的更多相关文章

  1. JavaScript基础知识(二)

    一.JavaScript事件详解 1.事件流:描述的是在页面中结束事件的顺序 事件传递有两种方式:冒泡与捕获. 事件传递定义了元素事件触发的顺序. 如果你将 <p> 元素插入到 <d ...

  2. 林大妈的JavaScript基础知识(二):编写JavaScript代码前的一些简单工作

    在介绍JavaScript语法前,我们需要知道,学习语法必须要多利用手敲代码来巩固记忆.因此,由于JavaScript的特性,它不能像C++和Java一样独立地编译及运行,我们需要在调试运行JavaS ...

  3. Jquery源码中的Javascript基础知识(二)

    接上一篇,jquery源码的这种写法叫做匿名函数自执行 (function( window, undefined ) { // code })( window ); 函数定义了两个参数window和u ...

  4. JavaScript 基础知识(二):闭包

    首先来思考一下下面的案例: function unclosure() { let count = 0 return count++ } for (let index = 0; index < 1 ...

  5. Javascript基础回顾 之(二) 作用域

    本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...

  6. 学习javascript基础知识系列第二节 - this用法

    通过一段代码学习javascript基础知识系列 第二节 - this用法 this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascr ...

  7. 学习javascript基础知识系列第三节 - ()()用法

    总目录:通过一段代码学习javascript基础知识系列 注意: 为了便于执行和演示,建议使用chrome浏览器,按F12,然后按Esc(或手动选择)打开console,在console进行执行和演示 ...

  8. JavaScript 基础知识 - BOM篇

    前言 本篇文章是JavaScript基础知识的BOM篇,如果前面的<JavaScript基础知识-DOM篇>看完了,现在就可以学习BOM了. 注意: 所有的案例都在这里链接: 提取密码密码 ...

  9. Javascript基础知识总结一

    Javascript基础知识总结一 <!DOCTYPE html> <html> <head lang="en"> <meta chars ...

  10. Java JDBC的基础知识(二)

    在我的上一篇Java JDBC的基础知识(一)中,最后演示的代码在关闭资源的时候,仅仅用了try/catch语句,这里是有很大的隐患的.在程序创建连接之后,如果不进行关闭,会消耗更多的资源.创建连接之 ...

随机推荐

  1. 【探索】在 JavaScript 中使用 C 程序

    JavaScript 是个灵活的脚本语言,能方便的处理业务逻辑.当需要传输通信时,我们大多选择 JSON 或 XML 格式. 但在数据长度非常苛刻的情况下,文本协议的效率就非常低了,这时不得不使用二进 ...

  2. C#高性能TCP服务的多种实现方式

    哎~~ 想想大部分园友应该对 "高性能" 字样更感兴趣,为了吸引眼球所以标题中一定要突出,其实我更喜欢的标题是<猴赛雷,C#编写TCP服务的花样姿势!>. 本篇文章的主 ...

  3. REST简介

    一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则. ...

  4. 移动先行之谁主沉浮? 带着你的Net飞奔吧!

    移动系源码:https://github.com/dunitian/Windows10 移动系文档:https://github.com/dunitian/LoTDotNet/tree/master/ ...

  5. C++ 应用程序性能优化

    C++ 应用程序性能优化 eryar@163.com 1. Introduction 对于几何造型内核OpenCASCADE,由于会涉及到大量的数值算法,如矩阵相关计算,微积分,Newton迭代法解方 ...

  6. 使用 JavaScript 和 canvas 做精确的像素碰撞检测

    原文地址:Pixel accurate collision detection with Javascript and Canvas 译者:nzbin 我正在开发一个需要再次使用碰撞检测的游戏.我通常 ...

  7. AFNetworking 3.0 源码解读(八)之 AFImageDownloader

    AFImageDownloader 这个类对写DownloadManager有很大的借鉴意义.在平时的开发中,当我们使用UIImageView加载一个网络上的图片时,其原理就是把图片下载下来,然后再赋 ...

  8. 【定有惊喜】android程序员如何做自己的API接口?php与android的良好交互(附环境搭建),让前端数据动起来~

    一.写在前面 web开发有前端和后端之分,其实android还是有前端和后端之分.android开发就相当于手机app的前端,一般都是php+android或者jsp+android开发.androi ...

  9. 自己写的数据交换工具——从Oracle到Elasticsearch

    先说说需求的背景,由于业务数据都在Oracle数据库中,想要对它进行数据的分析会非常非常慢,用传统的数据仓库-->数据集市这种方式,集市层表会非常大,查询的时候如果再做一些group的操作,一个 ...

  10. Exception in thread "main" java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(I)V

    在学习CGlib动态代理时,遇到如下错误: Exception in thread "main" java.lang.NoSuchMethodError: org.objectwe ...