简介: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入门第一篇的更多相关文章

  1. ElasticSearch入门 第一篇:Windows下安装ElasticSearch

    这是ElasticSearch 2.4 版本系列的第一篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 E ...

  2. Flink入门-第一篇:Flink基础概念以及竞品对比

    Flink入门-第一篇:Flink基础概念以及竞品对比 Flink介绍 截止2021年10月Flink最新的稳定版本已经发展到1.14.0 Flink起源于一个名为Stratosphere的研究项目主 ...

  3. Zookeeper 入门第一篇

    转载原文地址: ZooKeeper学习总结 第一篇:ZooKeeper快速入门 ZooKeeper学习总结 第二篇:ZooKeeper深入探讨 ZooKeeper学习第一期---Zookeeper简单 ...

  4. JavaMail入门第一篇 邮件简介及API概述

    现如今,电子邮件在我们的生活当中扮演着越来越重要的角色,我们每个人几乎都会与其打交道(至少时不时我们都会接收到莫名其妙的垃圾邮件),在工作中,使用邮件进行交流沟通,可以使我们的工作有迹可循,也显的较为 ...

  5. flask入门第一篇

    一. Python 现阶段三大主流Web框架 Django Tornado Flask 对比 1.Django 主要特点是大而全,集成了很多组件,例如: Models Admin Form 等等, 不 ...

  6. JS原生第一篇 (帅哥)

    "流程控制语句":if.for. 1.1 if 选择语句,给程序添加了多种执行路线. 1 if(){ 2  语句1 3 }else if(){ 4  语句2 5 }else if( ...

  7. Android JNI入门第一篇——HelloJni

    android支持使用NDK开发C程序,关于配置NDK环境问题应该不用再赘述了,这个网上有很多,这里通过一篇实例来讲述简单的JNI开发,大家可以参考这篇文章(Get Your Eclipse-Inte ...

  8. Node.js入门第一天

    一.Node.js简介 1.1 简介 V8引擎本身就是用于Chrome浏览器的JS解释部分,但是Ryan Dahl这哥们,鬼才般的,把这个V8搬到了服务器上,用于做服务器的软件. Node.js是一个 ...

  9. AJAX入门第一篇就够了

    什么是Ajax Ajax(Asynchronous JavaScript and XML) 异步JavaScript和XML Ajax实际上是下面这几种技术的融合: (1)XHTML和CSS的基于标准 ...

随机推荐

  1. List三个子类的特点

    List的三个子类的特点 ArrayList: 底层数据结构是数组,查询快,增删慢. 线程不安全,效率高. Vector: 底层数据结构是数组,查询快,增删慢. 线程安全,效率低. Vector相对A ...

  2. main方法的详解

    格式 * public static void main(String[] args) {} 针对格式的解释 public 被jvm调用,访问权限足够大. static 被jvm调用,不用创建对象,直 ...

  3. c语言 GPS nmealib学习笔记

    .nmealib简介 nmealib是一个基于C语言的用于nmea协议的开源库.虽然nmea体积小巧,但是却具备了不少功能. 分析NMEA语句并把结果保存在合适的C语言结构体中. 除了解析NMEA语句 ...

  4. IfcSlab

    // IfcRoot ----------------------------------------------------------- // attributes: // shared_ptr& ...

  5. 阶段5 3.微服务项目【学成在线】_day18 用户授权_12-前端集成认证授权-携带JWT授权

    携带JWT授权 登陆后jwt已经存到了sessionStorage里面 当进行微服务的请求就要携带令牌.我们在拦截器里面做文章. 在axios的intercepters拦截器上 手工的给这个课程 造一 ...

  6. Qt编写控件属性设计器2-拖曳控件

    一.前言 上一篇文章把插件加载好了,并且把插件中的所有控件都显示到了列表框中,这次要做的就是实现拖曳控件的功能,用户选择一个控件拖曳到画布上,松开,在松开位置处自动实例化该控件,这个需要用到dropE ...

  7. 华为OpenStack开源团队人才招募中

    职位要求: 1. 三年以上软件开发经验,编程技能良好. 2. 熟练使用Python.Java.Go或其他语言开发. 3. 有OpenStack经验或者存储经验优先考虑. 4. 良好的学习和沟通能力,责 ...

  8. 记录一次idea的git导致的macpro风扇狂转问题

    现象 macpro风扇忽然狂转不停:使用软件Macs Fan Control检测如下:cpu温度持续过高(超过50度),风扇当前转速比较高 解决 观察cpu使用情况,发现git占用cpu很高,而且持续 ...

  9. Vue.js—60分钟快速入门

    本文摘自:http://www.cnblogs.com/keepfool/p/5619070.html Vue.js是当下很火的一个JavaScript MVVM库,它是以数据驱动和组件化的思想构建的 ...

  10. Python进入后台界面(admin)设定

    前言 用过Django框架的童鞋肯定都知道,在创建完Django项目后,每个app下,都会有一个urls.py文件,里边会有如下几行: ※特别要注意下面标红颜色的部分[] 一般情况下不需要修改什么东西 ...