数码资讯
引导您学习Javascript基本文本的基本概念(1)
学习目录 1。数据类型 数据类型 二,算子 增加和减少运营商: 位运算符: 布尔算子: 加法算子: 相等运算符 三。 在一份声明中 标签声明 数据类型 数据类型 基本数据类型(五种类型) 未定义 无效的 布尔 数 字符串 复杂数据类型(一) 对象 未定义的只有一个值(定义没有赋值)。 例: var;
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
学习目录
1。数据类型
数据类型
二,算子
增加和减少运营商:
位运算符:
布尔算子:
加法算子:
相等运算符
三。
在一份声明中
标签声明
数据类型
数据类型
基本数据类型(五种类型)
未定义
无效的
布尔
数
字符串
复杂数据类型(一)
对象
未定义的只有一个值(定义没有赋值)。
例:
var;警报(STR);未定义的
注意:如果您不向VaR声明,直接使用将报告一个异常(…未定义)。
建议:每个var声明给出一个初始值,它可以减少很多事故。
如:
VAR STR;var str2 =;张三STR =力量+ str2;警报(STR); / /没有我们预期的张三
无效的:
布尔值:只有两个文字值:真和假。
任何数据类型都可以通过布尔()函数转换成布尔类型。
字符串:非空字符=真空字符= false
数字:任何非零=真正的0和false = false
对象:任何对象
未定义的= false
如:
var str =布尔(南);var str2 =布尔(张三);var STR3 =布尔(定义);警报();
在这种情况下,当使用if语句时,我们将自动执行相应的布尔转换。
如果(STR){
只要它是非空字符、任何非零数字和任何非空对象,则它都是真的。
如果false是空的,那么它是false,0、楠、null和未定义都是false。
这将节省我们的判断。
警报();
}
一点点
二,算子
增加和减少运营商:
{、数字、数字、+、数字——}
VaR的年龄= 3,年龄= 3;年龄+ +;+ + age2;警报(年龄++年龄);
都是4。看来没什么区别。
VaR的年龄= 3,年龄= 3,num1,num2;num1 =年龄+ + + 1;num2 = + +年龄+ 1;警报(num1 ++ num2);
好的,区别是。一个是4,一个变成5。为什么会这样优先级不同。年龄+ +执行运算符+,然后添加1到自己,+1年龄首先添加1,然后+运算符加1。
位运算符:
{根据非(~),和(或),根据新闻或(|),按位异或XOR(^),左(>),符号(> > >)}权
事实上,我们很少使用它,这里有一点了解。
逐位
VaR num1 = 25; / /二进制000000000000000000000000000 11001
VaR num2 = ~ num1; / / 111111111111111111111111111 00110元
警报(num2); / / 26
示例:逐位和
var结果= 253;
警报(结果);1
/ / *********************
25 = 0000000000000000 00000000000 11001
3 = 0000000000000000 00000000000000 11
---------------------------------------------
= 0000000000000000 000000000000000 1
示例:逐位
var结果= 25·3;
警报(结果);26
/ / *************
25 = 0000000000000000 00000000000 11001
3 = 0000000000000000 00000000000000 11
---------------------------------------------
异或= 0000000000000000 00000000000 11010十进制值26
例如:左移
var属性的旧值= 2; / /等于二进制10
VaR风险价值=属性的旧值<5; / /等于1000000,二进制,十进制数64
右边有个标志。
var属性的旧值= 64; / /等于二进制1000000
无功价值=属性的旧值> > 5; / /等于10,二进制,十进制数2
示例:无符号右移(这个差值有点大,因为第三十二的值是1表示负数)。
var属性的旧值= 64; / /等于000000元11111111111111111111111111
Var newValue = oldValue > > > 5; / / 00000111111111111111111111111110 equals decimal 134217726
布尔算子:
{逻辑、逻辑和非(!)(),(逻辑或| |)}
这里需要说的是| |短路操作。如果| |在满足检测条件落后没有条件前,面前的一个不满足条件不落后的检测条件。
例:
var年龄= 3;
如果(年龄| | AAA)年龄 / /布尔{这是真的,所以AAA后没有检测到。
警报(年龄);}
如果(AAA | |年龄){ / /这里会报错
警报(年龄);}
测试:
VaR的年龄= 3;如果(年龄| | AAA)年龄 / /布尔{这是真的,所以AAA后未检测到。警报(年龄);}如果(AAA | |年龄){ / /这里将错误警报(年龄);}
这里可以告诉你一个小技巧,很多时候我们不知道一个变量是否有价值,但是我们需要正常使用它,然后我们可以给一个备用轮胎。
例如,浏览器的兼容性问题,在旧的浏览器,我们使用window.event获取事件相关的属性值。在新的浏览器中,通过表单参数直接传输。
功能myonclick(EV){
风险事件= EV window.event / / | |;确保新的浏览器兼容性
}
实验:
var obj = null;var obj2 = obj | |备胎;警报(obj2);
加法算子:
{加(+),减(-)}
这是比较熟悉的,但仍有一点注意。
Var strnum1 = 5;
VaR num2 = strnum1 + 3;
strnum1 VaR小键盘数字3 = 3;
警报(num2 =+小键盘数字3 num2 + = +小键盘数字3); / /这是什么结果
让我们来测试它。
无功strnum1 =5;var num2 = strnum1 + 3 = 3;var小键盘数字3 strnum1;警报(num2 =+小键盘数字3 num2 + = +小键盘数字3); / /这是什么结果
那是为什么当字符串和数字相加时,数字变成一个字符串。字符串和数字被减去,字符串被转换成数字。
相等运算符
VaR num1 =5;var num2 = 5;无功容量= num1 = = num2;警报(num1是num2:+相等);
奇怪的是,字符串等于数字。是的,自动转换在这里使用。但是我们不希望看到这样的结果吗
VaR num1 =5;var num2 = 5;无功容量= num1 = = = num2;警报(num1是num2:+相等);
是的,我们可以使用=等于,不仅是比较值,而且是类型。
三。
在一份声明中
for循环语句使用得很频繁,在for中经常使用较少。(for循环应用于非数组对象的遍历,而循环通过使用for调用称为枚举)。
例:
var obj = {编号:2,名称:三};STR =无功;为(O obj){ str =属性+ O +:+ obj { O } + }警报(STR);
标签声明
在C #感觉是相似的,但不一样。
我们有没有试过跳出多个循环嵌套的第二层一般来说,我们只能使用中断或继续跳出循环的内部,或者从整个函数中跳出,不能期望的是有一个标签语句可以跳出任意层。
例:
var最外:对于(var = 0;i = 10;i 0;i +;){ for(var j=0;j < 10;j +){ {如果(i = 5 = j=5){最外层};;+ +;};警报; / 55(数字)
嗯,第一个就在这里。最后,给大家一些有趣的问题。
一、为什么1 = 0 9999999999…
两。为什么警报(0.1 + 0.2) 0.3000000000000000
三。为什么警报(0123 + 4) 87
四,
var obj1 = {};obj1.name2 =张三;
var str1 =测试;str1.name2 =李四;
警报(obj1.name2 ++ str1。name2);
值是什么
五,
var obj1 = {作者:111 };
var obj2 = obj1;
obj1.name2 =222;
警报(obj2。2); / /什么出现在这里
obj1 = {作者:333 };
警报(obj2。2); / /什么出现在这里
六,
VaR的乐趣=功能(num1){
如果(num1 <= 1){
返回1;
}
{其他
返回num1 *乐趣(num1 - 1);
}
}
VaR的大脑=乐趣;
乐趣=函数(){
返回1;
}
警报(大脑(5)); / /什么出现在这里
还有一点时间来介绍Javascript的基本数据类型。
Javascript的基本数据类型包括6种类型:数字。
2.1号类型
号码类型用于存储数字值,它描述了64位的浮点数。但Javascript并不代表所有0-2e64之间的值,因为它还需要代表非整数,包括复数,分数,等等。对于64点,我们需要使用11位存储数字的小数部分,用1位来表示阳性和阴性,所以Javascript可以代表价值之间的2e52和2e52。
2.2字符串型
字符串类型用于表示文本,单引号或双引号可用于包含文本。任何引号中的符号都会被视为字符串,但对于特殊符号,它可能需要逃避。
2.3布尔型
布尔类型只包含两个值:true和false,我们可以使用程序中的各种布尔表达式实现true或false来实现不同的业务分支处理。
我们可以包含多个条件之间的关系的表达,可条件和非优先之间,在计算,如下:| |优先级最低的其次,然后是比较运算符,最后是其他运营商(例如!)。
像许多其他的语言,和前面,当条件为假,条件是不再计算| |,当条件为真,条件是不再计算。
请看下面的例子:
功能conditiontest(){
var =;
var =;
var;
打印(键);
如果(a =)打印();
如果(a = = =)打印;
如果(= = | | changevalue(C))打印(C {关键});
如果(= = changevalue(C))打印(C {关键));
}
功能changevalue(obj){
obj {关键=改变;
返回true;
}
其输出结果如下:
老
= 1
a = 1 = 1
老
改变
可以在| |使用,不叫changevalue。
2.4未定义的类型
当我们声明一个变量,但当我们不赋值给它时,它是未定义的,如下所示。
VaR B;
印刷(b);
在Javascript中,有一个与未定义的值相似的值:NULL。未定义的变量表明已声明但未复制,null表示变量被赋值但空,注意未定义的值为真是很重要的。
2.5类型转换
我们在上述定义= null值是真实的,但我们使用类型的操作可以发现,零是对象类型,这表明在比较过程中,类型转换。
类型转换是指将一种类型的值转换为另一种类型的值。
请看下面的例子:
功能converttypetest(){
var =;
var;
打印();
打印();
打印(类型一:+种类);
打印(型B:+型B);
打印();
打印()++(A = B));
打印()a = =(b):+(a =(b));
打印()字符串(a)= + +(字符串(a)= b));
打印(式的定义:+类型定义);
打印(式的空:+ typeof null);
打印();
打印();
}
输出结果如下:
答:1
B:1
A类型:数字
B类型:字符串
a =:b:真的
a =:false
A = =(b):真的
字符串(a):
未定义的类型:未定义的
空类型:对象
未定义的= NULL:真的
未定义的= null = false
您可以清楚地看到差异= =和= =。
1。数据类型
数据类型
二,算子
增加和减少运营商:
位运算符:
布尔算子:
加法算子:
相等运算符
三。
在一份声明中
标签声明
数据类型
数据类型
基本数据类型(五种类型)
未定义
无效的
布尔
数
字符串
复杂数据类型(一)
对象
未定义的只有一个值(定义没有赋值)。
例:
var;警报(STR);未定义的
注意:如果您不向VaR声明,直接使用将报告一个异常(…未定义)。
建议:每个var声明给出一个初始值,它可以减少很多事故。
如:
VAR STR;var str2 =;张三STR =力量+ str2;警报(STR); / /没有我们预期的张三
无效的:
布尔值:只有两个文字值:真和假。
任何数据类型都可以通过布尔()函数转换成布尔类型。
字符串:非空字符=真空字符= false
数字:任何非零=真正的0和false = false
对象:任何对象
未定义的= false
如:
var str =布尔(南);var str2 =布尔(张三);var STR3 =布尔(定义);警报();
在这种情况下,当使用if语句时,我们将自动执行相应的布尔转换。
如果(STR){
只要它是非空字符、任何非零数字和任何非空对象,则它都是真的。
如果false是空的,那么它是false,0、楠、null和未定义都是false。
这将节省我们的判断。
警报();
}
一点点
二,算子
增加和减少运营商:
{、数字、数字、+、数字——}
VaR的年龄= 3,年龄= 3;年龄+ +;+ + age2;警报(年龄++年龄);
都是4。看来没什么区别。
VaR的年龄= 3,年龄= 3,num1,num2;num1 =年龄+ + + 1;num2 = + +年龄+ 1;警报(num1 ++ num2);
好的,区别是。一个是4,一个变成5。为什么会这样优先级不同。年龄+ +执行运算符+,然后添加1到自己,+1年龄首先添加1,然后+运算符加1。
位运算符:
{根据非(~),和(或),根据新闻或(|),按位异或XOR(^),左(>),符号(> > >)}权
事实上,我们很少使用它,这里有一点了解。
逐位
VaR num1 = 25; / /二进制000000000000000000000000000 11001
VaR num2 = ~ num1; / / 111111111111111111111111111 00110元
警报(num2); / / 26
示例:逐位和
var结果= 253;
警报(结果);1
/ / *********************
25 = 0000000000000000 00000000000 11001
3 = 0000000000000000 00000000000000 11
---------------------------------------------
= 0000000000000000 000000000000000 1
示例:逐位
var结果= 25·3;
警报(结果);26
/ / *************
25 = 0000000000000000 00000000000 11001
3 = 0000000000000000 00000000000000 11
---------------------------------------------
异或= 0000000000000000 00000000000 11010十进制值26
例如:左移
var属性的旧值= 2; / /等于二进制10
VaR风险价值=属性的旧值<5; / /等于1000000,二进制,十进制数64
右边有个标志。
var属性的旧值= 64; / /等于二进制1000000
无功价值=属性的旧值> > 5; / /等于10,二进制,十进制数2
示例:无符号右移(这个差值有点大,因为第三十二的值是1表示负数)。
var属性的旧值= 64; / /等于000000元11111111111111111111111111
Var newValue = oldValue > > > 5; / / 00000111111111111111111111111110 equals decimal 134217726
布尔算子:
{逻辑、逻辑和非(!)(),(逻辑或| |)}
这里需要说的是| |短路操作。如果| |在满足检测条件落后没有条件前,面前的一个不满足条件不落后的检测条件。
例:
var年龄= 3;
如果(年龄| | AAA)年龄 / /布尔{这是真的,所以AAA后没有检测到。
警报(年龄);}
如果(AAA | |年龄){ / /这里会报错
警报(年龄);}
测试:
VaR的年龄= 3;如果(年龄| | AAA)年龄 / /布尔{这是真的,所以AAA后未检测到。警报(年龄);}如果(AAA | |年龄){ / /这里将错误警报(年龄);}
这里可以告诉你一个小技巧,很多时候我们不知道一个变量是否有价值,但是我们需要正常使用它,然后我们可以给一个备用轮胎。
例如,浏览器的兼容性问题,在旧的浏览器,我们使用window.event获取事件相关的属性值。在新的浏览器中,通过表单参数直接传输。
功能myonclick(EV){
风险事件= EV window.event / / | |;确保新的浏览器兼容性
}
实验:
var obj = null;var obj2 = obj | |备胎;警报(obj2);
加法算子:
{加(+),减(-)}
这是比较熟悉的,但仍有一点注意。
Var strnum1 = 5;
VaR num2 = strnum1 + 3;
strnum1 VaR小键盘数字3 = 3;
警报(num2 =+小键盘数字3 num2 + = +小键盘数字3); / /这是什么结果
让我们来测试它。
无功strnum1 =5;var num2 = strnum1 + 3 = 3;var小键盘数字3 strnum1;警报(num2 =+小键盘数字3 num2 + = +小键盘数字3); / /这是什么结果
那是为什么当字符串和数字相加时,数字变成一个字符串。字符串和数字被减去,字符串被转换成数字。
相等运算符
VaR num1 =5;var num2 = 5;无功容量= num1 = = num2;警报(num1是num2:+相等);
奇怪的是,字符串等于数字。是的,自动转换在这里使用。但是我们不希望看到这样的结果吗
VaR num1 =5;var num2 = 5;无功容量= num1 = = = num2;警报(num1是num2:+相等);
是的,我们可以使用=等于,不仅是比较值,而且是类型。
三。
在一份声明中
for循环语句使用得很频繁,在for中经常使用较少。(for循环应用于非数组对象的遍历,而循环通过使用for调用称为枚举)。
例:
var obj = {编号:2,名称:三};STR =无功;为(O obj){ str =属性+ O +:+ obj { O } + }警报(STR);
标签声明
在C #感觉是相似的,但不一样。
我们有没有试过跳出多个循环嵌套的第二层一般来说,我们只能使用中断或继续跳出循环的内部,或者从整个函数中跳出,不能期望的是有一个标签语句可以跳出任意层。
例:
var最外:对于(var = 0;i = 10;i 0;i +;){ for(var j=0;j < 10;j +){ {如果(i = 5 = j=5){最外层};;+ +;};警报; / 55(数字)
嗯,第一个就在这里。最后,给大家一些有趣的问题。
一、为什么1 = 0 9999999999…
两。为什么警报(0.1 + 0.2) 0.3000000000000000
三。为什么警报(0123 + 4) 87
四,
var obj1 = {};obj1.name2 =张三;
var str1 =测试;str1.name2 =李四;
警报(obj1.name2 ++ str1。name2);
值是什么
五,
var obj1 = {作者:111 };
var obj2 = obj1;
obj1.name2 =222;
警报(obj2。2); / /什么出现在这里
obj1 = {作者:333 };
警报(obj2。2); / /什么出现在这里
六,
VaR的乐趣=功能(num1){
如果(num1 <= 1){
返回1;
}
{其他
返回num1 *乐趣(num1 - 1);
}
}
VaR的大脑=乐趣;
乐趣=函数(){
返回1;
}
警报(大脑(5)); / /什么出现在这里
还有一点时间来介绍Javascript的基本数据类型。
Javascript的基本数据类型包括6种类型:数字。
2.1号类型
号码类型用于存储数字值,它描述了64位的浮点数。但Javascript并不代表所有0-2e64之间的值,因为它还需要代表非整数,包括复数,分数,等等。对于64点,我们需要使用11位存储数字的小数部分,用1位来表示阳性和阴性,所以Javascript可以代表价值之间的2e52和2e52。
2.2字符串型
字符串类型用于表示文本,单引号或双引号可用于包含文本。任何引号中的符号都会被视为字符串,但对于特殊符号,它可能需要逃避。
2.3布尔型
布尔类型只包含两个值:true和false,我们可以使用程序中的各种布尔表达式实现true或false来实现不同的业务分支处理。
我们可以包含多个条件之间的关系的表达,可条件和非优先之间,在计算,如下:| |优先级最低的其次,然后是比较运算符,最后是其他运营商(例如!)。
像许多其他的语言,和前面,当条件为假,条件是不再计算| |,当条件为真,条件是不再计算。
请看下面的例子:
功能conditiontest(){
var =;
var =;
var;
打印(键);
如果(a =)打印();
如果(a = = =)打印;
如果(= = | | changevalue(C))打印(C {关键});
如果(= = changevalue(C))打印(C {关键));
}
功能changevalue(obj){
obj {关键=改变;
返回true;
}
其输出结果如下:
老
= 1
a = 1 = 1
老
改变
可以在| |使用,不叫changevalue。
2.4未定义的类型
当我们声明一个变量,但当我们不赋值给它时,它是未定义的,如下所示。
VaR B;
印刷(b);
在Javascript中,有一个与未定义的值相似的值:NULL。未定义的变量表明已声明但未复制,null表示变量被赋值但空,注意未定义的值为真是很重要的。
2.5类型转换
我们在上述定义= null值是真实的,但我们使用类型的操作可以发现,零是对象类型,这表明在比较过程中,类型转换。
类型转换是指将一种类型的值转换为另一种类型的值。
请看下面的例子:
功能converttypetest(){
var =;
var;
打印();
打印();
打印(类型一:+种类);
打印(型B:+型B);
打印();
打印()++(A = B));
打印()a = =(b):+(a =(b));
打印()字符串(a)= + +(字符串(a)= b));
打印(式的定义:+类型定义);
打印(式的空:+ typeof null);
打印();
打印();
}
输出结果如下:
答:1
B:1
A类型:数字
B类型:字符串
a =:b:真的
a =:false
A = =(b):真的
字符串(a):
未定义的类型:未定义的
空类型:对象
未定义的= NULL:真的
未定义的= null = false
您可以清楚地看到差异= =和= =。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。