JS笔记之第一天
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.不会单词用拼音,拼音也要遵循驼峰命名法
变量的交换:
- 第一种方式:使用第三方的变量进行交换。
- 第二种方式:数字之间的加减运算(一般适用于数字的交换)
- 拓展的变量的交换:位运算
例子:
第一种方式: 使用第三方的变量进行交换
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笔记之第一天的更多相关文章
- JS笔记 入门第一
WHY? 一.你知道,为什么JavaScript非常值得我们学习吗? 1. 所有主流浏览器都支持JavaScript. 2. 目前,全世界大部分网页都使用JavaScript. 3. 它可以让网页呈现 ...
- JavaScript笔记(第一章,第二章)
JavaScript笔记(第一章,第二章) 第一章: <meta http-equiv="Content-Type" content="text/html; cha ...
- js笔记-0
#js笔记-0 数组: indexOf方法: Array也可以通过indexOf()来搜索一个指定的元素的位置: var arr = [10, 20, '30', 'xyz']; arr.indexO ...
- Stealth视频教程学习笔记(第一章)
Stealth视频教程学习笔记(第一章) 本文是对Unity官方视频教程Stealth的学习笔记.在此之前,本人整理了Stealth视频的英文字幕,并放到了优酷上.本文将分别对各个视频进行学习总结,提 ...
- js笔记——js数据类型转换
以下内容摘录自阮一峰的<语法概述 -- JavaScript 标准参考教程(alpha)>章节『数据类型转换』,以做备忘.更多内容请查看原文. JavaScript是一种动态类型语言,变量 ...
- 20145330《Java学习笔记》第一章课后练习8知识总结以及IDEA初次尝试
20145330<Java学习笔记>第一章课后练习8知识总结以及IDEA初次尝试 题目: 如果C:\workspace\Hello\src中有Main.java如下: package cc ...
- 【基于spark IM 的二次开发笔记】第一天 各种配置
[基于spark IM 的二次开发笔记]第一天 各种配置 http://juforg.iteye.com/blog/1870487 http://www.igniterealtime.org/down ...
- JS 获取本月第一天零点时间戳并转化成yy-mm-dd
JS 获取本月第一天零点时间戳并转化成yy-mm-dd 格式 <!DOCTYPE html> <html> <head> <meta charset=&quo ...
- 【Git 使用笔记】第一部分:安装git 和 使用git
第一部分:安装git(本人使用ubuntu系统) sudo apt-get install git 第二部分:基本配置 git config core.filemode false//忽略文件属性的修 ...
随机推荐
- linux man指令的详解
原创内容,欢迎指正 一.基本操作 大多数linux发行版自带用以查找shell命令及其他GNU工具信息的在线手册,man命令就是用来访问存储在linux系统上的手册页面. 例如,查看ls命令手册,语法 ...
- WTL Hello World
构建最简单的WTL Hello World程序,基于:WTL91_5321_Final + VS2013 + WIN7 添加->新建项目 为了简单起见,我们删除一些button和对应的处理代码( ...
- web通信类几个相关知识
1.什么是同源策略及限制? 同源策略限制从一个源加载的文档或者脚本如何与来自另一个源的资源进行交互. 这是一个用于隔离潜在恶意文件的关键安全机制. 所谓同源,就是指两个页面具有相同的协议,主机(也常说 ...
- js笔记(3)--js实现数组转置(两种方法)
js实现数组转置 第一种方法: <script> window.onload=function(){ var array1=[[11,22,33,333],[4 ...
- ubuntu 全英文环境下安装 拼音输入法
原文转自:http://my.oschina.net/No5stranger/blog/290026 ubuntu默认的输入法是ibus,综合网上评论,fcitx的支持者更多,而且个人感觉fcitx也 ...
- Codeforces_478_C
http://codeforces.com/problemset/problem/478/C 水. #include<stdio.h> int main() { long long a,b ...
- Go语言实现:【剑指offer】旋转数组的最小数字
该题目来源于牛客网<剑指offer>专题. 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素. 例如数组{3, ...
- 开源APM系统 HttpReports 在 .Net Core的应用
前言 简单说明下,APM全称Application Performance Management应用性能管理,通过各种收集请求数据,同时搭配Dashboard以实现对应用程序性能管理和故障管理的系统化 ...
- Jmeter之上传文件
前言 我们可以利用postman工具来测试上传文件的接口,那么假如要利用Jmeter工具来进行上传接口的测试,又该如何测试呢? 上传文件的接口地址:/pinter/file/api/upload:接口 ...
- 手把手带你阅读Mybatis源码(一)构造篇
前言 今天会给大家分享我们常用的持久层框架——MyBatis的工作原理和源码解析,后续会围绕Mybatis框架做一些比较深入的讲解,之后这部分内容会归置到公众号菜单栏:连载中…-框架分析中,欢迎探讨! ...