2022-03-11 JavaScript基础知识

JavaScript是一门脚本语言,最早只是用于简单的前端验证,但如今它的功能在已经不限于此。发展到今天,JavaScript和HTML、CSS并称为前端技术的三大件,是前端技术不可或缺的一环。但是与HTML和CSS等标记语言不同,JavaScript是一门真正的编程语言,所以学起来更应该重视。
JavaScript最早由Netscape公司发明,后来因为该公司与Sun公司(Java语言的创造公司,后被Oracle公司收购)合并,所以改名JavaScript。但其实它的语法风格跟Java并不相像。JavaScript的标准是ECMAscript,也就是我们经常听说的ES。

一、JavaScript的书写位置

1.写在标签的属性中

类似CSS的行内样式,比如下面这个代码

<a href="javascript:alert('执行链接中的代码')">点击执行</a>

这样的写法会导致代码的耦合严重,不利于后期代码的维护

2.写在<script>标签中

也类似CSS,在html文件的<head>标签当中新建一个<script></script>标签,在里面书写js的代码即可。

<script>
  alert(''hello'') //弹出一个窗口显示hello
</script>

3.写在外部的js文件当中

类似CSS的外部引入,我们额外建一个后缀名为.js的文件,在里面书写js语句,在引入到html文件当中。这样分离式的写法方便后期的维护。

<script src="script.js"></script>//引入语句

需要注意,这里的script标签被用来引入外部js文件后,如果里面还有其他的js语句,会被浏览器直接忽略。所以如果需要,应该新建一个script标签来书写其他js语句。

二、JavaScript的数据类型

js中一共有六种数据类型:
String 字符串:在使用的时候需要添加引号,注意单双引号的使用。
Number 数值:有最大和最小值 js中可以表示的数值的最大值为1.7976931348623157e+308,如果数值超过最大值,则会返回Infinity,表示正无穷
大于零的最小值为5e-324
Null 空值:专门用来指向一个空的对象
Undefined 未定义:声明了一个变量但是未给它赋值
Boolean 布尔值:用于逻辑判断,只有true 和 false两个值
Object 对象:后续面向对象编程会详细说明

注意:前五种数据类型为js的基本数据类型,而Object为引用数据类型。
在js当中,利用typeof来查看数据的类型,例如

var a = null; //js中定义变量前需要加一个var来声明变量
        console.log(a);
        console.log(typeof a);

三、数据类型的转换

1.转换为String

一般使用toString()方法或者String()函数来进行数据类型的转换

var a = 123;
        a = true;

        // a = null;
        // a = undefined;

        b = a.toString();
        console.log(typeof a);
        console.log(a);
        console.log(typeof b);
        console.log(b);

        var c = 123;
        c = null;
        c = undefined;
        c = String(c);
        console.log(typeof c);
        console.log(c);

null和undefined类型的数据没有toString()方法,而String函数则对这些数据类型都适用。

2.转换为Number

如果是直接转换,那么对于布尔值,true对应1,false对应0。null对应0。undefined会返回一个NaN,表示这不是一个数字(Not a Number)。字符串转换为数值,如果是纯数字,直接转换;如果含有非数字内容,返回NaN;如果为空串或者全是空格,返回0。直接转换使用的是Number()函数。
js含提供了两个类型的函数来实现这个转换,parseInt() parseFloat(),从名字上能看出,它们分别提取字符串中的有效的整数和小数部分,将其转换为数值。解析的顺序从左开始,直到右边第一个不是数字的字符为止。

var b = '123.265px';
b = true;
// b = parseInt(b);
b = parseFloat(b);//返回结果123.265

3.转换为Boolean

转换的方法只有一个就是使用Boolean()函数。
只有空字符串会返回false;只有0和NaN会返回false;null和undefined都会返回false;对象也会返回true。

var a = 0;
a = Boolean(a);
console.log(typeof a);
console.log(a);

四、一些补充知识

1.在js中书写其他进制的数字,十六进制要以0x开头,八进制以0开头,二进制以0b开头。
2.js对于大小写十分敏感,所以书写的时候要养成良好的习惯。
3.js进行整数运算的结果比较精确,但是计算浮点数的时候可能会得到一些不够精确的结果,所以一般不要用js来进行高精度的运算。读者可以尝试利用js计算一些简单的浮点数运算,看看结果。
4.js中标识符的命名规则要遵循驼峰命名。首字母小写,其余单词只有首字母大写。
5.js的类型转换跟其他的语言很不一样,可以多多品味。

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

推荐阅读更多精彩内容