美文网首页
JS中的变量、函数、数据类型及转换

JS中的变量、函数、数据类型及转换

作者: 麦壳儿UIandFE2 | 来源:发表于2016-10-16 09:46 被阅读100次

JavaScript是弱变量类型的语言

变量只需要用var来声明。Java,C#中变量的声明,要根据变量是什么类型的来声明:

int a;
float a;
double a;
String a;
boolean a;
var a ;

javascript:变量的使用,数据类型,if判断,循环语句。

变量。

作用:用来存储一些可以变化的数据。
代码:

1.0变量的声明:

var 变量的名称;
var name;

注意命名规则:

1.0取值范围:0-9,a-z,A-Z,_,$
2.0区分大小写
3.0不能用数字开头
4.0不能与关键字和保留字(备胎)冲突。

2.0变量的赋值:

变量的名称 = 要赋值的数据;
name = “abc”;
讲作:将字符串abc赋值给name;在变量a中存储一个数据这个数据的类型是字符串,内容是abc.

3.0变量赋值之后可以使用(使用的方式与直接量一样)。

注意:
变量的取名一定要规范:变量名称的取值范围是:0-9,a-z,A-Z,_,$,并且数字不能作为变量名称的开始部分。
变量的名称是区分大小写的:
变量的名称不能是关键字和保留字(备胎);

javascript代码虽然是从上到下执行的。但是如果js有语法错误,那么浏览器不会执行这里面的js代码。因为浏览器会先去检查js代码是否有错误,如果没有才会从上到下执行。

如果两个变量相加:

两个都是number类型,那么加号的作用是相加
两个都是string类型,那么加号的作用是连接
一个是number另一个是string,那么加号的作用是连接。

js中的函数(方法):

定义函数(声明函数)
function 函数名(参数1,参数2){
    命令代码
}
ps:参数可以有一个或多个以逗号分隔,也可以不传参
调用函数
函数名()
ps:函数声明不调用是不起作用的
return 在函数中返回计算结果

函数的好处

1.可重复利用

2 执行效率快

3 使代码变得清晰易读

4.可封装一部分代码

将一段经常使用的代码用一个方法包起来,将来方便再次调用。

匿名函数

匿名函数就是没有函数名,不需要调用

eg:btn.onclick = function(){}

定时器

开启定时器

1. setTimeout() 只执行一次

停止定时器

   clearTimeout()


2. setInterval() 每隔多长时间执行一次

   clearInterval()

ps:定时器在使用的时候必须定义一个变量将其存起来。

流程控制:

问题:写一段代码,判断张身上有多少钱,如果钱超过300块就请吃大餐,如果不够下次记得带够?

if else
if(判断条件/boolean值){
//满足条件会执行下面的代码
代码1;
}else {
//当上面的条件不满足,或者boolean的值为false的时候会执行下面的代码2
代码2
}

注意:

1.0if后面接有判断条件,else后面没有接判断条件
2.0if和else只能执行一个。
if elseif else
判断张身上有多少钱,如果钱超过300块就请吃大餐,如果超过了200,吃中餐,如果不够下次记得带够?

代码:
if(判断条件/boolean值){
//满足条件会执行下面的代码
代码1;
}else if(判断条件) {
//当上面的条件不满足,或者boolean的值为false的时候会执行下面的代码2
代码2
}
else if(判断条件)
。。。。。
else {
最后代码
}

注意:

1.0在if_elseif_else结构中elseif可以有几数个
2.0整个结构只会执行一个代码段
3.0条件在判断的是时候先写小范围的条件再写大范围的条件。
4.0 elseif后面要加判断条件
5.0一个if可以构成一个完整的结构

switch_case

作用:用来判断多个可能出现的值:
代码:

switch(判断的值){
case 具体值:
要执行的代码段1;
break;
case 具体值2:
要执行的代码段2;
break;
......
default:
要执行的代码段n
break;
}

注意:
1.0case结构后面要跟一个具体的数值
2.0case结构可以有无数个
3.0如果所有的case都不满足,要执行default中的内容
4.0defalut可以不写,并且defalut也不用写条件
js代码的调试:(html,css没有办法调试,只有js代码可调试)
1.0打开开发人员工具,找到source选项:
2.0调试js代码:先在要调试的代码的行号中加上一个断点:
3.0将程序命中断点:刷新页面
4.0点击下一步按钮。

三元运算符:

作用:用于判断两个选择。
代码:
==boolean表达式?代码段1:代码段2;==
执行过程:
判断boolean表达式是否成立,如果成立会执行代码段1,如果不成立会执行代码段2;

排他思想

有排他必循环,先排除后确定

循环:

问题:希望大家能够在页面上输入100个alert(“啊!”)?
有没有一种方式能够让我们将这一百句话以最简单的方式书写出来。

while循环:

作用:反复执行一段代码:
代码:

 while(判断条件/boolean){
    代码块
}

while循环的执行流程:

当代码执行到while的时候,会先判断判断条件是否为true,如果为true,那么会执行while大括号中的代码块,代码块执行完毕以后,再次回到while中再进行判断,如果为true,再次执行while大括号中的代码块,并且再次回while,如果为false就不执行
注意:
1.0将来在写代码的时候一定要注意循环的判断条件不能一直为true,会成为一个死循环。
2.0循环的条件和循环体一定要明确。
3.0将来在实际开发中我们一般不会使用while循环,会使用for循环。

break:

作用:在循环内部结束这个循环。
用法

continue:

作用:在循环的内部结束本次循环,开始下一次循环:

do while:

与while是一样的,唯一的区别就是while先判断再做,do-while,先做再判断;
代码 :

do{
    //要循环执行的代码块
}while (条件语句/boolean)


执行过程:
代码从上到下执行的过程中如果遇到了do就会先执行一次do后面的代码,执行之后再通过while来进行判断,如果判断通过那么再执行一次,如果判断不通过却结束循环。

for循环:

作用:反复执行同一段代码:
代码:

for(var i = 1; 判断条件; i++){
    要循环的代码块:
}

执行步骤:
当程序运行到for的时候,会先声明一个变量i,并且赋值为1,判断i是否满足后面的判断条件,如果满足,执行下面的要循环的代码块,代码 块执行完成之后再执行i++,再判断判断条件是否满足,如果满足再次按照上面的流程执行,如果不满足,直接结束for循环。

数据类型的转换:

string,number(NaN),boolean,undefined
为什么需要数据类型的转呢?

问题:要用户输入一个数,我们将这个数据加一之后再输出?
要将字符串转成number类型以后才能进行计算。
prompt()接收到用户输入的内容是以什么类型来接收来的:
prompt接收到的内容是string类型。

数据类型的转换

显示转换:

1:转数字:
a)Number转换:

代码:
var a = “123”;
a = Number(a);
注意:

如果转换的内容本身就是一个数值类型的字符串,那么将来在转换的时候会返回自己。
如果转换的内容本身不是一个数值类型的字符串,那么在转换的时候结果是NaN.
如果要转换的内容是空的字符串,那以转换的结果是0.

b)如果是其它的字符,那么将来在转换的时候结果是NaN.

parseInt():
代码:
var a = “123”; a = parseInt(a);
忽略字符串前面的空格,直至找到第一个非空字符,还会将数字后面的非数字的字符串去掉。
如果第一个字符不是数字符号或者负号,返回NaN

c)会将小数取整。(向下取整)

parseFloat();//浮点数(小数)
与parseInt一样,唯一区别是parseFloat可以保留小数。

2.转字符串

可以将其它的数据类型转成字符串。

a)String():

代码:
var a = 123;
a = String(a);

b).toString()的方法来进行转换(包装类)。

代码:
var a = 123; a = a.toString();

3.转boolean类型:

可以将其它类型转为boolean值:

a)Boolean():

代码:
var a =”true”; a = Boolean(a);
注意:在进行boolean转换的时候所有的内容在转换以后结果都是true,除了:false、""(空字符串)、0、NaN、undefined

隐式转换:

a)转number:

var a = “123”;
a = +a;
加减乘除以及最余都可以让字符串隐式转换成number.

b)转string:

var a = 123;
a = a + “”;

c)转boolean:

var a = 123;
a = !!a;

数据类型:

简单数据类型:

string
number
boolean
undefined
null

在栈空间中开辟一块内存,将简单的数据类型存储到栈中。

复杂数据类型:

数组:Array
对象:Object;

先在栈空间中开辟一块内存,将数据保存到堆空间中,然后将数据在堆空间中的存储地址放在栈里面去。

共同点:都电脑的运行内存中的一部分。
不同点:

堆:存储空间大,运行速度慢。
栈:存储空间小,运行速度快。

object:对象(数据类型)

作用:可以用来存储数据。
保存小明的信息:
年龄,姓名,性别,爱好
由于通过变量来分别保存这些特征不太方便,所以我们干脆用一个对象来表示小明。

声明对象:

var xiaoming = new Object();

给对象赋值:

xiaoming.age = 18;
xiaoming.name = xiaoming;
xiaoming.sex = “男”;
xiaoming.aihao = “女”;

对象的使用:

如果要得到小明的aihao:
xiaoming.aihao
可以直接通过xiaoming.aihao得到小明对应的爱好。

数组:

问题:如果我要存储10个学生的成绩:
作用:要以用数组存储10个学生的成绩:

声明数组:

var arr = new Array();

赋值:

arr[0] = 67;
arr[1]=59.9;
arr[2]=”abc”;
arr[3]=xiaoming;

取值:

arr[下标];
注意:

1.0数组的下标是以0开始。
2.0数组声明以后,长度可以是无限长。
3.0js中的数组可以存储任意的类型。
数组的遍历:
数组中的一个属性:
arr.length;

相关文章

  • javaScript中数据类型转换方法

    JS 数据类型转换 方法主要有三种 转换函数、强制类型转换、利用js变量弱类型转换。 1. 转换函数: js提供了...

  • 数据类型转换

    JS 数据类型转换 方法主要有三种 转换函数、强制类型转换、利用js变量弱类型转换。 1. 转换函数: js提供了...

  • JavaScript 01 (JS引入/变量/数据类型/类型转换

    JS的引入及调试,常量,字面量,变量,JS中的数据类型,JS的运算符,JS的运算符之隐式类型转换,强制类型转换,M...

  • js面试题

    1、js 数据类型 基本数据类型 引用数据类型 2、js 变量和函数声明的提升 在js中变量和函数的声明会提升到最...

  • JS中的变量、函数、数据类型及转换

    JavaScript是弱变量类型的语言 变量只需要用var来声明。Java,C#中变量的声明,要根据变量是什么类型...

  • 前端资料

    ES6新数据类型 Symbol . js变量提升函数提升 js this js 原型及原型链理解 new做了什么 ...

  • JS的基本小结

    JS基本输出方式 JS数据类型 变量 常量 变量常量小练习 声明提前 隐式转换 显示转换/强制转换

  • 前端开发入门到实战:JavaScript字符串转换数字

    js 字符串转换数字方法主要有三种: 转换函数、强制类型转换、利用js变量弱类型转换。 1. 转换函数: js提供...

  • 前端开发入门到实战:JavaScript字符串转换数字

    js 字符串转换数字方法主要有三种: 转换函数、强制类型转换、利用js变量弱类型转换。 1. 转换函数: js提供...

  • JavaScript类型转换

    在js中数据类型转换一般分为两种,即强制类型转换和隐式类型转换(利用js弱变量类型转换)。 强制类型转换 即通过使...

网友评论

      本文标题: JS中的变量、函数、数据类型及转换

      本文链接:https://www.haomeiwen.com/subject/aqboyttx.html