Javascript初级知识(二)


0.前言
  上一章主要介绍了一些javascript的基础认识,今天主要说一些数据类型的相互转换,以及一些表达式。
1.其它基本类型转换成Number类型-----Number()
 <strong>(1)null转换成number类型</strong>

var ret1 = Number(null);
console.log(ret1);//0
console.log(typeof ret1);

拓展:<strong>typeof</strong>是显示变量的属性;格式为typeof 变量名
<strong>(2)undefined转换成Number</strong>
console.log(Number(undefined));
<strong>(3)boolean转换成Number</strong>

console.log(Number(true));//1
console.log(Number(false));//0

<strong>(4)字符串转换成Number</strong>
注意:如果字符串中存在除了数字和点以外的其他字符,则转换失败,值为NaN;加减号在首位置表示正负号;开头有空白字符串可以过滤。如下:

console.log(Number("123"));
console.log(Number("+123"));
console.log(Number("-123"));
console.log(Number("   123"));
console.log(Number("12.3"));

下面为不能转换的例子:

console.log(Number("12a3"));
console.log(Number("12+3"));
console.log(Number("12-3"));
console.log(Number("a123"));

<strong>特例:打印的值为“0”</strong>

console.log(Number(""));
console.log(Number("     "));

parseInt()和parseFloat()语法

规则:从第一个非空白字符(空格、换行、tab)开始转换,直到遇到一个非数字字符位置,如果转换失败,则打印NaN。
区别:parseInt是将接收到的数据(一般为字符串)转成整数;而parseFloat是将接收到的数据(一般为字符串)转成浮点数。

        console.log(parseInt("123"));
        console.log(parseInt("+123"));
        console.log(parseInt("-123"));
        console.log(parseInt("     123"));

        console.log(parseInt("12+3"));
        console.log(parseInt("12-3"));
        console.log(parseInt("12a3"));
        console.log(parseInt("12.3"));

        //NaN
        console.log(parseInt("a1234"));

        //parseFloat()
        //将接收到的数据(一般都是字符串)转成浮点数
        console.log(parseFloat("12.3"));
        console.log(parseFloat("    12.3"));
        console.log(parseFloat("12.3+1234"));

2.其它基本类型转换成字符串类型-----str
<strong>将null转换成字符串</strong>

var str = "Hello world";
console.log(str + null);//null

<strong>将undefined转换成字符串</strong>
console.log(str + undefined);//undefined
<strong>将boolean转换成字符串</strong>

var flag = true;
var ret1 = flag.toString();

console.log(ret1);
console.log(typeof ret1);

<strong>将Number转换成字符串</strong>

var num = 1;
console.log("" + num);
console.log(num.toString());

3.其它基本类型转换成Boolean类型-----Boolean()
注:绝大多数数据转换成boolean结果都为true,除了目前常用的6种值除外。六种值为:

//false
console.log(Boolean(0));
console.log(Boolean(NaN));
console.log(Boolean(""));
console.log(Boolean(false));
console.log(Boolean(undefined));
console.log(Boolean(null));

//true
console.log(Boolean(Infinity));

3.prompt()输入
prompt是进行数据的输入,会在页面提示一个文本输入框,让用户往里面输入数据。但是它接收的数据默认为字符串类型,所以经常和parseInt(),配合使用,将字符串转换成想要的数字。用法如下:

num1 = parseInt(prompt("请输入num1的值"));
num2 = parseInt(prompt("请输入num2的值"));

4.算术运算符合算术运算表达式
表达式:由变量、常量和运算符组成的式子
如何阅读表达式?
  (1)功能:进行相关的运算
  (2)值:相关运算之后得到的值
算数运算符:+、-、x、、、%(取余)
算术运算表达式的格式:变量1 算术运算符 变量2
功能:进行相关的数学运算,不能改变变量的值
值:相关数学运算后的结果
5.自增自减运算符和自增自减运算表达式
<strong>(1)自增运算符: ++</strong>
自增运算表达式格式:变量++  ++变量
 两者都是将变量的值加1,但是两者有分别:
变量++:后加加,先取值再加1,
++变量:前加加,先加1再取值。

var a = 1;
var b;
//b = a++;//1
b = ++a;//2
console.log("a = " + a);
console.log("b = " + b);

可以看到,++a事先将值自加1,然后在赋值给的b,所以a=2,b=2;
<strong>(2)自减运算符: --</strong>
自减运算表达式格式:变量--  --变量
 两者都是将变量的值减1,但是两者有分别:
变量--:后减减,先取值再减1,
++变量:前减减,先减1再取值。

var m = 2;
var n;
n = --m;
console.log("m = " + m);
console.log("n = " + n);

6.复合运算符
<strong>+=:</strong>a += 1相当于a = a + 1;
<strong>-=:</strong>a -= 1 相当于a = a - 1;
<strong>*=:</strong>a *= 1 相当于a = a * 1;
<strong>/=:</strong>a /= 1 相当于a = a / 1;
<strong>7.关系运算符和关系运算符表达式</strong>
<strong>关系运算符:</strong>

>:大于;
<:小于;
>=:大于等于;
<=:小于等于;
==:等于;
===:绝对等于;
!=:不等于;

注意:(1)关系运算附不能连用,如
1 <= num <= 5
(2)“==”:知识让数据相等即可,而“===”:数据与类型都要相等,如

var num = 1;
var str = "1";
//数据等于即可
console.log(num == str);
//数据与类型都要相等,
console.log(num === str);

<strong>8.逻辑与、或、非运算符</strong>
<strong>(1)逻辑与:</strong>运算符:&&;
表达式:表达式1 && 表达式2;
值:
如果表达式1的值为真,表达式2的值为真,则逻辑与表达式的值为真
如果表达式1的值为真,表达式2的值为假,则逻辑与表达式的值为假
如果表达式1的值为假,表达式2的值为真,则逻辑与表达式的值为假
如果表达式1的值为假,表达式2的值为假,则逻辑与表达式的值为假
【有一个为假就为假】

if (1 && 2) {
            console.log("*************1");
        }
        if (1 && 0) {
            console.log("*************2");
        }
        if (0 && 2) {
            console.log("*************3");
        }
        if (0 && 0) {
            console.log("*************4");
        }

<strong>(2)逻辑或:</strong>运算符:||
逻辑或运算表达式: 表达式1 || 表达式2
值:
如果表达式1的值为真,表达式2的值为真,则逻辑或表达式的值为真
如果表达式1的值为真,表达式2的值为假,则逻辑或表达式的值为真
如果表达式1的值为假,表达式2的值为真,则逻辑或表达式的值为真
如果表达式1的值为假,表达式2的值为假,则逻辑或表达式的值为假
【有一个为真就为真】

if (1 || 2) {
            console.log("*************1");
        }
        if (1 || 0) {
            console.log("*************2");
        }
        if (0 || 2) {
            console.log("*************3");
        }
        if (0 || 0) {
            console.log("*************4");
        }

<strong>(3)逻辑或:</strong>运算符: !
逻辑非运算表达式: !表达式
值:
如果表达式的值为真,则逻辑非运算表达式的值为假
如果表达式的值为假,则逻辑非运算表达式的值为真
【颠倒黑白】

if (!1) {
            console.log("********1");
        }
        if (!0) {
            console.log("********2");
        }

注意:逻辑与和逻辑或都遵循惰性原则。
<strong>惰性原则(段落原则):</strong>从左至右依次计算表达式的值,直到遇到一个表达式的值为假(真)则停止计算,因为此时我们已经知道逻辑与(逻辑或)运算表达式的值为假(真)了。
<strong>9.总结</strong>
  以上只是学习javascript之前所要进行的必须的准备,了解这些,基本上只是刚刚入门,希望对喜欢或者打算要学习的童鞋能够有所帮助,谢谢,打赏!!!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,718评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,683评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,207评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,755评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,862评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,050评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,136评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,882评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,330评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,651评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,789评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,477评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,135评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,864评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,099评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,598评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,697评论 2 351

推荐阅读更多精彩内容