js入门第一篇
简介:JavaScript 运行在客户端(浏览器)是一种客户端语言,javascript的引擎被称为JavaScript引擎,为浏览器的一部分广泛用于客户端的脚本语言
应用场景:网页特效, 服务端开发(Nood.js),命令行工具(Noode.js),桌面程序(Electron),App(Cordova), 控制硬件-物联网(Ruff),游戏开发(cocos2d-js)。
js的组成: ECMAScript 是js的核心, DOM 文档对象模型 (可以操作浏览器窗口 比如:弹出框 控制浏览器跳转 获取分辨率等) BOM 浏览器对象模型 (可以把HTML看做是文档树 通过DOM体统的API可以对书上的节点进行操作)。
一、 变量定义规则
1. 变量声明
var 变量名=值;
var 变量名; 先申明变量 以后在赋值 变量的命名规则和规范
规则-必须遵守,不遵守会报错
由字母、 数字、下划线、$符号组成 不能以数字开头
不能是关键字和保留字 如 for while
区分大小写
规范-建议遵守
变量名必须有意义
遵守驼峰命名法 首字母小写 后面的单词的字母大写 如:userName 案列 交换两个变量的值
通过第三个变量来做临时存储
二、 数据类型
1. 简单数据类型
Number
十六进制 一般会加前缀 0x 来和十进制区分
浮点数
判断一个变量是否是数字: NaN isNaN 判断是否是数字
string
\ 转义
\n 换行
\t 制表符 一般代表四个空格
\r 回车
获取一个字符串长度length
console.log(msg.length)
字符串拼接+ (+有两种含义 跟python一样)
如果+的一遍是字符串一遍是数值类型 会先把数值类型自动转换成字符串然后在进行拼接
Boolean
true和false (区分大小写)
计算机内部 1为true 0为false
Underfind Null
undefined 表示一个声明了没有复制的变量
null表示空,变量的值如果想设置为null 必须手动设置
2. 复杂类型
复杂数据类型
Object 数组
获取变量的类型typeof
console.log(typeof age); 字面量
在源代码中一个固定值的表示法 注释
单行注释 // 用来描述下一行的作用
多行注释 /* */
3. 数据类型转换
数据类型转换
1. 转换成字符串的方法
toString
console.log(num.toString());
ps: null undefined没有toString方法
2. String() 一般不用来转换null和undefined 3. 字符串拼接 加上一个空字符串即可
console.log(typeof(isRight + '')) ps: typeof 可以直接空格写变量 加括号优先执行括号 其他数据类型转换成数值类型
1. Number()
console.log(Number(isRight))
当number把字符串转换成数值的时候 如果字符串中有一个字符不是数字的 时候,会返回一个NaN
2. parseInt() 无法把布尔转换成字符类型
转行字符串的时候如果遇到数字就会转换数字,如果遇到非数字就会返回就会把数字提取出来 转小数时 不解析点
3.parseFloat() 无法转换布尔 跟parseInt 一样
如果只有整数 就解析整数, 一般能解析一个点 4. 取正数或者去负数+ -
直接在字符串的变量名前加正号或者负号
也可以转换布尔 5. 字符串-0 转换成布尔 Boolean()
非零非空非NaN就是True
4. 算术符
运算符 Operator
算术运算符
+ - * / %
跟数学里面一样 唯一的区别就是 5/0 等于无穷大 5%0 等于NaN 一元运算符
表达式有一操作数和一个操作符一个表达式组成
++、 -- 只有一个操作数的运算符
++ 自身加1
前置++ 表达式 先让num自身+1 然后再返回表达式的结果
后置++ 表达式 先返回表达式的结果 再回在对其自身加1 -- 自身减1
原理同上 逻辑运算符(布尔运算符)
1. && 与 两个操作数同时为true 结果为true 否则为false
2. || 或 一个操作为true 结果为true
3 ! 非 取反 (一元运算符) 关系运算符 (用来比较两个)
< > >= <= (比较大小的)
== != (比较相等的)
=== !== (和上面的区别是既比较值又比较类型) 赋值运算符
+= -= *= /= %=
运算符优先级
1.()优先级最高
2. 一元运算符
3. 算数运算符
4. 相等运算符
5. 逻辑运算符
7. 赋值运算符
js入门第一篇的更多相关文章
- ElasticSearch入门 第一篇:Windows下安装ElasticSearch
这是ElasticSearch 2.4 版本系列的第一篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 E ...
- Flink入门-第一篇:Flink基础概念以及竞品对比
Flink入门-第一篇:Flink基础概念以及竞品对比 Flink介绍 截止2021年10月Flink最新的稳定版本已经发展到1.14.0 Flink起源于一个名为Stratosphere的研究项目主 ...
- Zookeeper 入门第一篇
转载原文地址: ZooKeeper学习总结 第一篇:ZooKeeper快速入门 ZooKeeper学习总结 第二篇:ZooKeeper深入探讨 ZooKeeper学习第一期---Zookeeper简单 ...
- JavaMail入门第一篇 邮件简介及API概述
现如今,电子邮件在我们的生活当中扮演着越来越重要的角色,我们每个人几乎都会与其打交道(至少时不时我们都会接收到莫名其妙的垃圾邮件),在工作中,使用邮件进行交流沟通,可以使我们的工作有迹可循,也显的较为 ...
- flask入门第一篇
一. Python 现阶段三大主流Web框架 Django Tornado Flask 对比 1.Django 主要特点是大而全,集成了很多组件,例如: Models Admin Form 等等, 不 ...
- JS原生第一篇 (帅哥)
"流程控制语句":if.for. 1.1 if 选择语句,给程序添加了多种执行路线. 1 if(){ 2 语句1 3 }else if(){ 4 语句2 5 }else if( ...
- Android JNI入门第一篇——HelloJni
android支持使用NDK开发C程序,关于配置NDK环境问题应该不用再赘述了,这个网上有很多,这里通过一篇实例来讲述简单的JNI开发,大家可以参考这篇文章(Get Your Eclipse-Inte ...
- Node.js入门第一天
一.Node.js简介 1.1 简介 V8引擎本身就是用于Chrome浏览器的JS解释部分,但是Ryan Dahl这哥们,鬼才般的,把这个V8搬到了服务器上,用于做服务器的软件. Node.js是一个 ...
- AJAX入门第一篇就够了
什么是Ajax Ajax(Asynchronous JavaScript and XML) 异步JavaScript和XML Ajax实际上是下面这几种技术的融合: (1)XHTML和CSS的基于标准 ...
随机推荐
- 安装配置nodejs并创建Vue项目
一.下载安装node.js 1.Node.js 官方网站下载:https://nodejs.org/en/ 2.傻瓜式安装 双加安装包,除了根据自己的需要选择安装位置外,都默认下一步. 3.验证安装 ...
- SpringCloud成长之路 一 注册与发现(Eureka)
一.spring cloud简介 spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理.服务发现.断路器.路由.微代理.事件总线.全局锁.决策竞选.分布式会话等等.它运 ...
- 未清SO关闭处理
使用: SD_SALESDOCUMENT_CHANGE 关闭订单 DATA: ls_header_in LIKE bapisdhd1 . DATA: ls_header_inx LIKE bap ...
- centos6.8 ssh 问题
xshell用ROOT不能登录 需要把 /etc/ssh/sshd_config 中的端口新建一个 不能用默认的
- Java解压tar.Z文件(使用Apache Commons-compress)
这里使用apache commons compress对.tar.Z格式文件进行解压. 对于一个文件test.tar.Z,我们可以将解压过程理解为: 将test.tar.Z解压为test.tar: 将 ...
- 使用Apache服务部署网站(基于IP,域名,端口)
本篇主要学习Apache网站服务程序的基本部署,基于IP地址.主机名(域名).端口号的虚拟主机功能. 1.基于IP地址 首先我们需要在虚拟机中线安装Apache服务程序,Apache服务程序的软件包名 ...
- IntelliJ IDEA 简单设置
1.在idea中添加try/catch的快捷键 ctrl+alt+t 2.主题修改 选择菜单栏“File--settings--apperance--theme”,主题选择Darcula: 3.代码字 ...
- 使用jquery操作iframe中的元素
使用jquery操作iframe中的元素<iframe src="/test/demo.htm" width="99%" height="300 ...
- [CF620E]New Year Tree_dfs序_线段树_bitset
New Year Tree 题目链接:http://codeforces.com/problemset/problem/620/E 数据范围:略. 题解: 转化成序列问题,发现颜色种数特别少,暴力用数 ...
- [转帖]Oracle数据库lob大对象数据类型字段总结,值得收藏
Oracle数据库lob大对象数据类型字段总结,值得收藏 原创 波波说运维 2019-07-11 00:02:00 https://www.toutiao.com/i67108943269703357 ...