JS-01-基本介绍-变量-数据类型

初步了解JavaScript

1.JavaScript(是什么?)
是一种通常运行在浏览器中(运行环境)的编程语言;
可以用来实现人机交互效果,提供逻辑思维能力。

2.作用
监听用户的行为,并让网页作出对应的反馈
网页特效(动画效果)
表单验证(针对表单数据的合法性进行判断)
数据交互(获取后台的数据,演染到前端) 
服务端编程(node.js)

3.JavaScript的组成(有什么?)
ECMAScript规范:
规定了js基础语法核心知识。
比如:变量、分支语句、循环语句、对象等等

Web APIs(可操作的实体对象) :
DOM 操作文档,比如对页面元素进行移动、大小、添加删除等操作
BOM操作浏览器,比如页面弹窗,检测窗口宽度、存储数据到浏览器等等
注意:DOM(document object model)属于BOM(browser object model)

JavaScript书写位置

1.内部JavaScript
直接写在html文件里,用script标签包住
规范: script标签写在</body>上面
注意事项:
我们将<script>放在HTML文件的底部附近的原因是浏览器会按照代码在文件中的顺序加载HTML
如果先加载的JavaScript期望修改其下方的HTML,那么它可能由于HTML尚未被加载而失效。
书写的位置尽量写到文档末尾</body>前面 
因此,将JavaScript代码放在HTML页面的底部附近通常是最好的策略。  

2.外部JavaScript
代码写在以.js结尾的文件里
语法:通过script标签,引入到html页面中。
注意事项:
script标签中间无需写代码,否则会被忽略! 

3.内联JavaScript
代码写在标签内部,不推荐这样使用,了解一下就行

JavaScrip输入输出语法

1.document.write('要输出的内容')
向body内输出内容
如果输出的内容写的是标签,也会被解析成网页元素
2.alert('要输出的内容')
页面弹出警告的内容
3.console.log('要输出的内容')
控制台输出语法,程序员调试使用 

变量

变量的基本使用:
1.声明变量
语法:let 变量名
声明变量有两部分构成:声明关键字、变量名(标识)
let 即关键字(let:允许、许可、让、要),所谓关键字是系统提供的专门用来声明(定义)变量的词语 
举例:let age
age 即变量的名称,也叫标识符 

2.变量赋值
定义了一个变量后,你就能够初始化它(赋值)。在变量名之后跟上一个“=”,然后是数值。
image.png
image.png
image.png

image.png

变量命名规则与规范

规则:必须遵守,不遵守报错
规范:建议,不遵守不会报错,但不符合业内通识
1.规则
不能用关键字
关键字:有特殊含义的字符, JavaScript内置的一些英语词汇。例如: let、var、if、for等
只能用下划线、字母、数字、$组成,且数字不能开头 
字母严格区分大小写,如Age和age是不同的变量

2.规范
起名要有意义
遵守小驼峰命名法
第一个单词首字母小写,后面每个单词首字母大写   例: userName 
image.png

数据类型

typeof 检测数据类型
基本数据类型:                                                            引用数据类:
number 数字型                                                           object  对象
string 字符串型                                                         unction 函数
boolean 布尔型                                                          array   数组
undefined 未定义型
null 空类型

1.数字类型(number)
JavaScript 中的正数、负数、小数等统一称为数字类型。
JS是弱数据类型,变量到底属于那种类型,只有赋值之后,我们才能确认 
Java是强数据类型例如int a=3 必须是整数 
image.png
2.字符串类型(string)
通过单引号(") 双引号("")或反引号(``)包裹的数据都叫字符串,单引号和双引号没有本质上的区别
注意事项:
1.无论单引号或是双引号必须成对使用
2.单引号/双引号可以互相嵌套,但是不以自已嵌套自已(口诀:外双内单,或者外单内双) 
    let name = "12  '33'  "
    let name = '12  "33"  '
3.必要时可以使用转义符\,输出单引号或双引号 
    let name = "我的名字叫 \"彦祖\""
image.png

image.png

image.png

image.png
3.布尔类型(boolean)
表示肯定或否定时在计算机中对应的是布尔类型数据
它有两个固定的值true 和false,表示肯定的数据用true (真),表示否定的数据用false(假)

4.未定义类型
什么情况出现未定义类型?
只声明变量,不赋值的情况下,变量的默认值为undefined,
工作中的使用场景:
我们开发中经常声明一个变量,等待传送过来的数据。
如果我们不知道这个数据是否传递过来,此时我们可以通过检测这个变量是不是undefined,
就判断用户是否有数据传递过来。
image.png

image.png
5.空类型(null)
null 表示值为空  
let obj = null
null 和 undefined 区别:
1. undefined 表示没有赋值
2. null 表示赋值了,但是内容为空
null 开发中的使用场景:
官方解释:把null作为尚未创建的对象
大白话:将来有个变量里面存放的是一个对象,但是对象还没创建好,可以先给个null 
image.png

类型转换

JavaScript是弱数据类型: JavaScript也不知道变量到底属于那种数据类型,只有赋值了才清楚
坑:使用表单、prompt获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算
console.log('10000' + '2000')    运行结果100002000
此时需要转换变量的数据类型
通俗来说,就是把一种数据类型的变量转换成我们需要的数据类型。 

1.隐式转换
某些运算符被执行时,系统内部自动将数据类型进行转换,这种转换称为隐式转换
规则:
 + 号两边只要有一个是字符串,都会把另外一个转成字符串
除了 + 以外的算术运算符比如 - * / 等都会把数据转成数字类型
缺点:转换类型不明确,靠经验才能总结
小技巧:
+ 号作为正号解析可以转换成Number
image.png
2.显式转换
编写程序时过度依靠系统内部的隐式转换是不严谨的,因为隐式转换规律并不清晰,大多是靠经验总结的规律
为了避免因隐式转换带来的问题,通常需要对数据进行显示转换
转换为数字型(Number)
Number(数据)
如果字符串内容里有非数字,转换失败时结果为NaN(Not a Number)即不是一个数字
NaN也是number类型的数据,代表非数字 
parselnt(数据)
只保留整数
parseFloat(数据)
可以保留小数
image.png
转换为字符型:(String)
String(数据)
变量.toString(进制)
image.png

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

推荐阅读更多精彩内容