JavaScript

一个完整的JavaScript应由以下三个部分构成:

ECMASctipt DOM DOM

解释型语言

类似于C和Java的语言结构
动态语言
基于原型的面向对象
——JS代码需要编写到script标签中





标识符

在JS中所有的可以有我们自主命名的都可以称为标识符
例如:变量名,函数名,属性名都属于标识符
命名一个标识符需要遵守如下规则:
1.标识符中可以含有字母·,数字,_.$
2.标识符不能以数字开头
3.标识符不能是ES中的关键字或保留字
4.标识符一般都使用驼峰命名法
5.在字符串中可以使用\表示转义字符
\n 表示换行

var str ="hello";
str = "我说:"今天天气不错"";
str = "\";
alert("str");输出字符串
alert(str);输出变量

数据类型指的是字面量的类型

在JS中一共有6种数据类型

String 字符串
Number 数值
Boolean 布尔值
Null 空值
Undefined 未定义
Object 对象

其中 String ,Number ,Boolean,Null , Undefined属于基本数据类型
而Object属于引用数据类型
可以使用typeof来检查一个变量的类型

var a= "bcd";
var b = 134;
console.log(typeof b);

NaN是一个特殊的数字
强制类型转换
只将一个数据类型强制转换为其它数据类型
类型转换主要指,将其他数据类型转换为String,Number,Boolean

将其他的数据类型转换为String


将其他的数据类型转化为Number

 /*
    将其他的数据类型转化为Number
    使用Number()函数
    -字符串--> 数字
    1,如果是纯数字的字符串,则直接将其转化为数字
    2,如果是字符串中有非数字的内容,则将其转化为NaN
    3,如果字符串是一个空串或者是一个全是空格的字符串,则转化为0
    -布尔-->数字
    true 转化为1
    false  转化为  0
    -null-->   数字  0
    - underfined-->   数字NaN
     */
    var c = "789";
    c = Number(c);
    console.log(typeof c);
    console.log(c);
    c = "78a";
    c = Number(c);
    console.log(typeof c);
    console.log(c);
    c = null;
    c = Number(c);
    console.log(typeof c);
    console.log(c);
    c = true;
    c = Number(c);
    console.log(typeof c);
    console.log(c);
//调用parseInt()函数将a转化为Number
    /*
    parseInt()可以将一个字符串中的有效整数取出来
    然后转化为Number
     */
    c = "123fj";
    c = parseInt(c);
    console.log(typeof c);
    console.log(c);
    /*
    parseFloat()作用和parseInt()类似,不同的是它可以获得有效的小数
     */
    c ="123.456fj";
    c = parseFloat(c);
    console.log(typeof c);
    console.log(c);

进制转化

/*
        在JS中,如果需要表示16进制的数字,则需要0x开头
        如果需要表示8进制的数字,则需要0开头
         */
    //16进制
    a = 0x10;
    //8进制
    a = 070;
    console.log(a);

将其他的数据类型转化为Boolean

使用Boolean()函数

 /*
    将其他的数据类型转化为Boolean
    -使用Boolean()函数

    -数字-->布尔
    除了0和NaN,其余的都是true

    - 字符串-->布尔
      除了空串,其余的都是true
      -null 和 underfined都会转化为 false

      对象也会转化为true
     */
    var a = 123;//true
    a = -123;//true
    a = 0;//false
    a = Infinity;//true
    a = NaN;//false
    a = Boolean(a);
    a = "";
    a = Boolean(a);
    a = null;
    a = Boolean(a);
    console.log(typeof a);
    console.log(a);

自增和自减

自增分成两种:后++(a++)和前++(++a)
无论是a++还是++a,都会立即使原变量的值自增1;
不同的是a++和++a的值不同;
a++的值等于原变量的值(自增前的值)
++a的值等于圆水泥变量的新值(自增后的值)

三种逻辑运算符

!非
所谓非运算就是对一个布尔值值进行取反操作
&&与

||或

条件运算符

条件运算符也叫三元运算符
语法:
条件表达式?语句1:语句2;
执行的流程:
条件运算符在执行时,首先对条件表达式进行求值,
如果该值为true,则执行语句1,并返回知心话结果;
如果该值为false,则执行语句2,并返回知心话结果;

  true?alert("语句1"):alert("语句2");
    false?alert("语句1"):alert("语句2");
//获取a b c中的最大值
 var a = 10;
    var b = 20;
var c = 30;
    //a>b ? alert("a大"):alert("b大");
    var max = a > b ? a : b ;
    max = max > c ? max : c ;
//不推荐
// var max = a > b ? (a > c ? a : c ) : (b > c ? b  : c );
    console.log("max = "+ max);

优先级

在JS中运算符也有优先级

在JS中有一个运算符优先级的表
表中越靠上优先级越高
优先级一样从左往右

图片.png

代码块

JS种的代码块中有分组的作用,没有其他用途

流程控制语句

按顺序从上往下依次执行

你可能感兴趣的:(JavaScript)