JavaScript:简称JS

JS的原名不是JavaScript,而是LiveScript

JS分为三个部分

1.ECMAScript  标准→JS的基本的语法

2.DOM——Document Object Model  文档对象模型

3.DOM——Browser Object Model  浏览器对象模型

JavaScript是什么?

是一门脚本语言:不需要编译(翻译),直接运行

是一门解释性的语言:遇到一行代码就解释(执行)一行代码

是一门动态类型的语言

是一门基于对象的语言

是一门弱类型的语言,声明变量的时候都是使用var

(编译语言:需要把代码翻译成计算机所认知的二进制语言才能够执行

脚本语言:不需要编译,直接执行)

变量

操作的数据都是在内存中操作的

JS中存储数据使用变量的方式(名字,值→数据)

JS中声明变量都用var→存储数据,数据应该有对应的数据类型

JS中的字符串类型的值都用双引号或者单引号

变量的作用:用来操作数据的,可以存储,可以读取

变量的声明:var  变量名字

变量的初始化:var  变量名字=值;又叫字面量的方式赋值

变量声明(有var   有变量名字,没有值)

变量初始化(有var  有变量名字,有值)

var 是变量的名字

“=”等号的意义是赋值的含义

var  number;//变量的声明,此时是没有赋值的(里面是没有数据的,因为没有写“=”号)

var  x,y,z,k,j;(都是声明,没有赋值);//一次性声明多个变量

变量的初始化(变量声明的同时并且赋值了)

存储一个数字10     //var  number=10

存储一个人的名字   //var  name=“小孩”

存储真(true)     //var  flag=true

存储一个null→相当于是空   //var  nll=null

存储一个对象       //var  obj=new object()

需要注意基本代码的规范:

1.JS中声明变量都是用var

2.JS中每一行代码结束都应该有分号(写一行代码结束要有写分号的习惯,这是一种规范,规定。如果不写,后期代码越来越多就越容易出错。);

3.JS中的大小写是区分的;例:var  N=10;var n=10,这个N和n是不一样的,它们没有关系。

4.JS中的字符串可以使用单引号,也可以使用双引号,目前我们暂时使用双引号。

变量名的注意问题——变量名的命名规范,要遵循驼峰命名法

1.变量的名字要有意义,(方便其他人能看懂)(代码越规范别人读取越清晰)

2.变量名有一定的规范:一般以字母,$符号,下划线开头,中间或者后面可以有$符号,字母,数字

3.变量名一般都是小写的

4.变量名如果是多个单词,第一个单词的首字母是小写,后面的所有的单词的首字母都是大写的,这种命名的方式称为:驼峰命名法。

5.不能使用关键字(比如系统自带的一些单词,不能使用)

6.不会单词用拼音,拼音也要遵循驼峰命名法

变量的交换:

  1. 第一种方式:使用第三方的变量进行交换。
  2. 第二种方式:数字之间的加减运算(一般适用于数字的交换)
  3. 拓展的变量的交换:位运算

例子:

第一种方式: 使用第三方的变量进行交换

var  num1=10;

var  num2=20;

var  temp=num1;

num1=num2;

num2=temp;

第二种方式交换:一般适用于数字的交换

var num1=10;

var num2=20;

//把num1的变量中的值和num2变量中的值,取出来相加,重新赋值给num1这个变量。

num1=num1+num2;//30

//num1变量的值和num2变量的值取出来,相减的结果重新赋值给num2.

num2=num1-num2;//10

//num1变量的值和num2变量的值取出来,相减的结果重新赋值给num1(num2已经重新赋值了,num2=10,代入进去就得到num1=30-10=20)

num1=num1-num2;//20

console.log(num1,num2);【把num1和num2放在一起,这样可以一起输出】

拓展的变量的交换:位运算

var num1=10;

var num2=20;

num1=num1^num2

num2=num1^num2

num1=num1^num2

注释:是解释代码的含义,方便自己或者给其他的程序员看的

注释的方式:

1.单行注释  //         一般用在一行代码的上面

2.多行注释  /*中间这里写注释的内容*/        一般用在函数或者是一段代码的上面

注释后的代码是不执行的

JS中的数据类型有哪些?

JS中的原始数据类型:number、string、boolean、null、undefined、object

number:数字类型(包含整数和小数)

string:字符串类型(字符串类型的值一般都是用单引号或者双引号括起来)

boolean:布尔类型(布尔类型的值只有两个,true(真1),false(假0))

null:空类型,值只有一个:null。当一个对象指向为空了,此时可以赋值为null

undefined:未定义,值只有一个:undefined

object:对象

什么情况下的结果是undefined?

变量声明了,没有赋值,结果是undefined。

函数没有明确的返回值,如果接收了,结果也是undefined。

如果一个变量的结果是undefined和一个数字进行计算,结果是:NaN(not an number)不是一个数字也没有意义。

如何获取这个变量的数据类型是什么?使用typeof来获取。

typeof的使用的语法:

都可以获取这个变量的数据库类型是什么!

typeof加变量名;

typeof(变量名);

console.log(typeof(变量名));

JS中可以表示哪些进制?

JS中没有二进制

十进制:数字序列范围0、1

八进制:数字序列范围0~7

十六进制:数字序列范围:0~9以及A~F

var num=10;//十进制

var num2=012;//八进制

var num3=0x123;//十六进制

数字类型是有范围的:最小值和最大值

console.log(Number.MAX_VALUE);数字的最大值

console.log(Number.MIN_VALUE);数字的最小值

无穷大:Infinity

无穷小:-Infinity

总结:

1.数字类型:number类型

2.无论是整数还是小数都是数字类型

3.不要用小数验证小数, 否则有时将会出现bug

4.不要使用NaN判断是不是NaN,应该使用isNaN(值或者是变量);

5.想要表示十进制:就是正常的数字

6.想要表示八进制:以0开头

7.想要表示十六进制:以0x开头

string数字类型

字符串可以使用单引号,也可以使用双引号;

(字符串的个数有多少个?(这个字符串的长度是多少?))

字符串的长度如何获取?变量名.length

JS中的字符串里也有转义符

\b   退格

\f   走纸换页

\n   换行

\r   回车

\t   横向跳格(Ctrl—I)(tab键)

\’  单引号

\"   双引号

\\   反斜杠

字符串的拼接:使用“+”可以把多个字符串放在一起形成一个字符串;

只要有一个是字符串,其它的是数字,那么结果也是拼接,不是相加;

如果有一个是字符串,另一个不是字符串,使用-、*号,此时会发生计算

浏览器帮助我们自动的把字符串类型转成数字类型,这种方式叫:隐式转换(自动转换)

boolean布尔类型

布尔类型的值有两个,一个是ture(真),一个是false(假);

计算机内部存储:true为1,false为0;

Undefined和Null

undefined表示一个声明了没有赋值的变量,变量只声明的时候值默认是undefined

null表示一个空,变量的值如果想为null,必须手动设置

类型转换

1.  其它类型转数字类型:三种方式

2.  其它类型转字符串类型

3.  其它类型转布尔类型

其它类型转数字类型:三种方式

1.parseInt();//转整数

console.log(parsrInt(“10”));//10

console.log(parsrInt(“10jjsssxxx”));//默认转换成10,后面的字母自动忽略;

console.log(parsrInt(“g10”));//NaN(不是一个数字)

console.log(parsrInt(“1”));//1

console.log(parsrInt(“10.924”));//10默认转换成整数

console.log(parsrInt(“10.23hhj”));//10默认转换成整数

2.parseFloat()//转小数 。结果与转整数差不多,只不过转的是小数

3.Number();//转数字。

小数和整数都是数字,所以都可以转,如果添加了不是数字的字符,那就会出现NaN;

总结:想要转整数用parseInt();想要转小数用parseFloat();想要转整数用Number()(Number()这种方式要比上面的两种方式严格);

(浏览器显示黑色的,说明是字符串类型)

其它类型转字符串类型:

1.  .toString()

var  num=10;

console.log(num

.toString());//字符串类型

2. String();

var numl1=20;

conso.log(Strong(numl1));

如果变量有意义,调用 .toString()转换

如果不量没有意义,使用String()转换

其它类型转布尔类型:

Boolran(值)

console.log(Boolean(1));//ture

console.log(Boolean(0));//false

console.log(Boolean(11));//ture

console.log(Boolean(-10));//ture、

console.log(Boolean(“哈哈”));//ture

console.log(Boolean(“”));//flase

console.log(Boolean(null));//false

console.log(Boolean(undefined));//false

运算符(又叫操作符)

操作符:是一些符号→是用来计算

运算符分为:

算数运算符

一元运算符

二元运算符

三元运算符

复合运算符

关系运算符

逻辑运算符

算数运算符:  +  -  *  /  %(取余,取余数)

算数运算符的作用是用来计算的

算数运算表达式:由算数运算符连接起来的表达式

操作符两边的操作数可以是:数字、变量或者表达式。

一元运算符:这个操作符只需要一个操作数就可以运算的符号   ++  --

二元运算符:这个操作符需要两个操作数就可以运算的符号

复合运算符:+=  -=  *=  /=  %=

复合运算表达式:由复合运算符连接起来的表达式

var num=10;

num+=10;→就是:num=num+10

关系运算符:>  <  >=  <=  ==  ===  !=  !==

关系运算表达式:由关系运算符连接起来的表达式

关系运算表达式的结果是布尔类型。

==不严格的相等   ===严格的相等

==只需判断值一不一样就可以了不需要判断类型,

===既需要判断值一不一样,又需要判断类型一不一样

!=不严格的不等

!==严格的不等

逻辑运算符:&&  //   !

逻辑运算表达式:由逻辑运算符连接起来的表达式

&&---逻辑与(与---并且)

//---逻辑或(或---或者)

!---逻辑非(非---取反--取非)(取反,取相反的结果)

表达式1 && 表达式2

如果有一个为false,整个的结果就是false

表达式1 // 表达式2

如果有一个为true,整个的结果为true

!表达式1

表达式1的结果是true,整个结果为false

表达式1的结果是false,整个结果为true

运算符的优先级

优先级从高到底

1. ()  优先级最高

2. 一元运算符  ++   --   !

3. 算数运算符  先*  /  %   后 +   -

4. 关系运算符  >   >=   <   <=

5. 相等运算符   ==   !=    ===    !==

6. 逻辑运算符 先&&   后||

7. 赋值运算符  =

字面量:把一个值赋值给一个变量   var  num=10;

JS笔记之第一天的更多相关文章

  1. JS笔记 入门第一

    WHY? 一.你知道,为什么JavaScript非常值得我们学习吗? 1. 所有主流浏览器都支持JavaScript. 2. 目前,全世界大部分网页都使用JavaScript. 3. 它可以让网页呈现 ...

  2. JavaScript笔记(第一章,第二章)

    JavaScript笔记(第一章,第二章) 第一章: <meta http-equiv="Content-Type" content="text/html; cha ...

  3. js笔记-0

    #js笔记-0 数组: indexOf方法: Array也可以通过indexOf()来搜索一个指定的元素的位置: var arr = [10, 20, '30', 'xyz']; arr.indexO ...

  4. Stealth视频教程学习笔记(第一章)

    Stealth视频教程学习笔记(第一章) 本文是对Unity官方视频教程Stealth的学习笔记.在此之前,本人整理了Stealth视频的英文字幕,并放到了优酷上.本文将分别对各个视频进行学习总结,提 ...

  5. js笔记——js数据类型转换

    以下内容摘录自阮一峰的<语法概述 -- JavaScript 标准参考教程(alpha)>章节『数据类型转换』,以做备忘.更多内容请查看原文. JavaScript是一种动态类型语言,变量 ...

  6. 20145330《Java学习笔记》第一章课后练习8知识总结以及IDEA初次尝试

    20145330<Java学习笔记>第一章课后练习8知识总结以及IDEA初次尝试 题目: 如果C:\workspace\Hello\src中有Main.java如下: package cc ...

  7. 【基于spark IM 的二次开发笔记】第一天 各种配置

    [基于spark IM 的二次开发笔记]第一天 各种配置 http://juforg.iteye.com/blog/1870487 http://www.igniterealtime.org/down ...

  8. JS 获取本月第一天零点时间戳并转化成yy-mm-dd

    JS 获取本月第一天零点时间戳并转化成yy-mm-dd 格式 <!DOCTYPE html> <html> <head> <meta charset=&quo ...

  9. 【Git 使用笔记】第一部分:安装git 和 使用git

    第一部分:安装git(本人使用ubuntu系统) sudo apt-get install git 第二部分:基本配置 git config core.filemode false//忽略文件属性的修 ...

随机推荐

  1. selenium8中元素定位方式

    Selenium对网页的控制是基于各种前端元素的,在使用过程中,对于元素的定位是基础,只有准去抓取到对应元素才能进行后续的自动化控制,我在这里将对各种元素定位方式进行总结归纳一下. 这里将统一使用百度 ...

  2. ROS中的3D建模机器人(三)

    一.利用xacro理解机器人建模 当我们创建复杂的机器人模型时,URDF的灵活性将会降低,URDF缺少的主要特性是简单的.可重用性,模块化和可编程性. URDF是一个单独的文件我们不能在它里面包含其他 ...

  3. ubuntu 14.04 如何设置静态ip

    有线网络: 1. 找到文件并作如下修改: sudo vim /etc/network/interfaces 修改如下部分: auto eth0iface eth0 inet staticaddress ...

  4. css:html-font-size

    font-family:"Helvetica Neue",Helvetica,Arial,sans-serif

  5. 「C++ 篇」答应我,别再if/else走天下了可以吗

    每日一句英语学习,每天进步一点点: "Without purpose, the days would have ended, as such days always end, in disi ...

  6. POJ_1166_暴搜

    题目描述: 有3*3的9个时钟,每个始终有0,1,2,3四种可以循环的状态码,每组数据给我们9个时钟的一种状态码.另外还有9种操作,分别使指定位置的时钟状态码加一,求使得9个时钟状态码全部置于0的最少 ...

  7. shellcode 反汇编,模拟运行以及调试方法

    onlinedisassembler https://onlinedisassembler.com 在线反汇编工具,类似于lda.功能比较单一. Any.run 等平台在线分析 将shellcode保 ...

  8. 云服务器InfluxDB & Chronograf配置

    环境: 阿里云服务器 Ubuntu 18.04.3 LTS InfluxDB 1.7.10 (截至2020.2.20最新版) chonograf 1.8.0 (2020.2.19推出) 配置建议: 不 ...

  9. [Effective Java 读书笔记] 第二章 创建和销毁对象 第二条

    第二条 遇到多个构造器参数时,可以考虑用构建器 当遇到有多个构造器参数时,常见的是用重叠构造器,即: public class TestClass{ public TestClass(int para ...

  10. 13-MyBatis03(逆向工程)

    MyBatis逆向工程 1.导入jar包 <dependency> <groupId>org.mybatis</groupId> <artifactId> ...