js--变量,数据类型,运算符

本文深入解析JavaScript的基础语法,涵盖变量、常量、数据类型、运算符等内容,通过实例讲解变量定义、数据类型转换及运算符使用,适合初学者及进阶者巩固基础知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、变量

1.定义

(1)声明:var a;

(2)赋值:a=10;

2.变量的命名规则

二、常量

三、数据类型

1.基本数据类型

(1)Boolean

(2)String

(3)Number

(4)null

(5)undefined

2.基本数据类型转换:

(1)  Number()

(2)  parseInt()

(3)  parseFloat()

(4)  Boolean()

(5)  string()

(6)  toString()

3.引用数据类型

(1)Obejct

(2)Array

本质:连续的数据(顺序)   连续的存储空间

(3)Function

(4)Date

4.如何判断数据类型

四、运算符

1.算数运算符

2.关系运算符

3.逻辑运算符

4.自增、自减

 


一、变量

1.定义

(1)声明:var a;

(2)赋值:a=10;

2.变量的命名规则

字母,数字,下划线组成,不能由数字开头

变量小写,小驼峰命名法
函数大驼峰命名法
常量大写

 

案例:交换两个变量的值

方法一:

var a=10;
var b=20;
var temp;
temp=a;
a=b;
b=temp;
document.write('a的值是'+a,'b的值是'+b);

方法二:

var a=10;
var b=20;
a=a+b;
b=a-b;
a=a-b;
document.write('a的值是'+a,'b的值是'=b);

二、常量

不可修改的量

大写

三、数据类型

基本数据类型Boolean布尔型
String字符串
Number数值
null空对象指针
undefined

是null的派生词

undefined==null(结果是true)

变量只声明,不赋值

引用数据类型Array数组
Function函数
Date日期

1.基本数据类型

(1)Boolean

只有两个值  0-1    true/false

(2)String

字符串/单个字符串  ""  ,' ',"  '  '   " (双引号套单引号)

转移字符:\

\"
"aaaaa".lenght   //字符串的长度

(3)Number

不区分整型,单精度,双精度等

Number.MIN_VALUE
5e-324

进制:

二进制0-10b
八进制0-70
十六进制0-9  A-F0X

(4)null

var obj={};//{}代表空对象
var obj=null;//空对象,null保存了一个地址,但是这个地址的内存空间没有值
var a=0;
var obj=null;//空对象里面无值,也起到初始化的作用

(5)undefined

变量只声明,不赋值

var a;//a就是undefined

2.基本数据类型转换:

数值转换Number()任何类型转换为数值类型
parseInt()字符串转换为数值类型
parseFlaot()字符串转换为浮点型
布尔型Boolean()任意类型转换为布尔型
任意类型转换为字符串string(参数) 
对象.toString()

toString()不能转换为

null和undefined

(1)  Number()

Number(true);//1
Number(false);//0
Number(null);//0
Number(undefined);//NaN
NaN==NaN;//false
Number('abc');//false

(2)  parseInt()

//排查:前几个字母能转的话就给你转了,遇到真正的字母就停止转换了    力所能及  
parseInt('abc');//NaN
parseInt('10abc');//10
parseInt('abc10');//NaN
parseInt('10abc20')//10

(3)  parseFloat()

parseFloat('10.234');//10.234
parseFloat('10');//10

(4)  Boolean()

//布尔型转换为false的情况
Boolean(0);
Boolean('');
Boolean(false);
Boolean(NaN);
Boolean(null);
Boolean(undefined);

(5)  string()

string(参数) 
对象.toString()toString()不能转换null和undefeined

(6)  toString()

3.引用数据类型

Object(Array/Function/Date)

(1)Obejct

对象都是保存在堆里面的

对象是属性和方法的集合,他与数组的差别是有序的,对象保存的是无序的数据

键值对存在,  key-value(属性名:属性值)

  • 对象的定义:
    • 字面量(糖衣法)

      var obj1={

          键:值;

          ........

      }

      构造函数法(实例法)

      var obj1=new Object();

      obj1.键=值;

      .........

       

(I)字面量(糖衣法    开发中经常要用的)

var obj1={
    name:'杨大哥';
    year:23;
    12:23.5;
    sex:'男';
    hobbies:['斗地主','变魔术','游泳'];
    Swimming:function(){
        console.log('杨大哥蜻蜓点水,不敢入水');
        }
    
}
console.log(obj1.name+'年龄是'+obj1.year+'性别是'+obj1.sex+'爱好是'+obj1.hobbies);
console.log(obj1.Swimming());
console.log(obj1['12']);

//循环   对象遍历  for-in
for(var index in obj1){
    document.write('键'+index+'值'+obj1[index]+'<br>');
}

(II)构造函数(实例法)

var obj=new Object();  //obj实例
obj.name='杨大哥';
obj.year=23;
obj.sex='男';
obj.Swimming=function(){
    console.log('杨大哥蜻蜓点水,不敢下水');
}
obj['12']=23.5;

 

(2)Array

  • 本质:连续的数据(顺序)   连续的存储空间

数组下标从0开始,数组名字保存在内存中的首地址

  • 特点:

js中得数组是动态的,长度是可变的,数据有多少,长度就有多大

可以保存任意类型的数据,非常灵活

  • 定义一个数组
糖衣法var arr=['abc',123,..........]
构造函数法

var arr=new Array();

arr[i]='dfrrg';

(I)糖衣法

//var 数组名=[]
var arr=['a',123,'fhjf',23.345,['a','b','c'],{name:'lily',sex:'男'}];

//循环  遍历数组
//for(){}     while(){}    forEach()
//()代表条件     {}执行语句

for(var i=0;i<arr.lenght;i++){
    console.log(arr[i]);
}

(II)构造函数法

var arr=new Array();
array=['a',123,'sdhf',23.345,['a','b','c'],{name:'lily',sex:'男'}];
//随时动态扩充
arr[18]='18下标';
document.write(arr);
//Array(19) [ "a", 123, "fhjf", 23.345, (3) […], {…}, <4 empty slots>, … ]

(3)Function

(4)Date

4.如何判断数据类型

判断基本数据类型typeof   运算符
判断引用数据类型instanceof   运算符
console.log(typeof 'abc');//string
console.log(typeof 123);//number
console.log(typeof null);//object   null代表空对象指针,指针指向谁,就是谁的数据类型
console.log(typeof undefined);//undefiend
var arr= new Array();//arr是Array()
arr instanceof Array;//true   arr 是Array的实例
arr instanceof Object;//true  arr是Object的实例
Array instanceof Object;//Array是Object的实例

//arr继承Array,Array继承Object

四、运算符

1.算数运算符

算数运算符+  -  *   /   %
优先级*   /   %   +   -
表达式操作数+运算符

2.关系运算符

>  >=  <  <= ====等于
   ===

===全等于

不光进行数值上的判断,还会判断类型

%=   *=   /=   +=   -= 
'10'==10;//true
'10a'==10;//fasle
'10'===10;//false

3.逻辑运算符

&&同真为真,一假为假
||一真为真,同假为假
取反
if(!err){
    console.log('已经没有错了');
}
if(!null){
    console.log('不空');
}

4.自增、自减

++i++先输出i,再加1
++i先加1,再输出i
--i--先输出i,再减1
--i先减1,再输出i
var i=1;
document.write(i++);//1
document.write(++i);//3

var i=1;
document.write(++i);//2
document.write(i++);//2

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值