js基础01
常见的五大浏览器:chrome firfox ie opera safari
浏览器的解析器会把代码解析成用户所能看到的东西
www.2cto.com/kf/201202/118111.html浏览器工作原理
js的组成以及特点
JavaScript简称为JS
js的组成:ECMAScript标准----基本的语法和对象
DOM:Document Object model 文档对象模型
Bom:broswer Object model 浏览器对象模型
JS是一门脚本语言:不需要编译
编译:把代码转换成计算机所认知的二进制语言
JS是一门弱类语言:声明变量都用Var
JS是一门动态语言:变量可以认知当前的这个变量到底是什么类型
JS是一门解释性语言
JS拥有跨平台性
JS原名是LiveScript
布莱登.艾奇
JS最初的目的:解决浏览器和服务器之间交互的问题(比如:验证密码)
JS现在能做什么?
交互问题、特效、游戏、移动APP开发
HTML:展示信息
CSS:美化页面
JS:实现浏览器和服务器交互,有计算和验证的能力
CMD t-sql vbscript都属于脚本语言,不需要编译
JS点出来的东西未必能用,点不出来的东西或许可以用
JS的基本注意问题
1.声明变量有大小写之分;var n=10;console.log(N);
2.弱类型语言,声明都用var
3.字符串用单引号或者双引号都可以(JS中的单引号或者双引号都表示字符串)
推荐用双引号(逼不得已用单引号---和DOM结合的时候,和html嵌套的时候)
4.每行代码结束用分号
js重的注释:
1.单行注释//
2.多行注释/* 注释的内容 */
HTML重的注释<!-- -->
css中的注释和JS中的多行注释一样
注释中的代码不解析不执行
JS的代码在哪写:在script中写,可以卸载HTML页面重的任何位置,一般在head标签中写,也在body标签中写(一般放在body最后),可以写多个script
JS可以外链
js代码注意事项:如果在script代码出错了,会影响到该对的script标签后面的代码执行
但不会影响后面的script标签中的内容
不要再引入外部的js文件的script
内嵌的script不易于开发和维护
异步和同步:
异步:多个人做多件事
同步:一个人有顺序的做多件事
script标签中有两个属性:async defer 都是异步
async属性的值就是自己 :页面加载就开始下载文件,下载完毕后立刻执行
defer属性就是自己:页面执行完毕后再开始下载文件,然后执行
一般在html标签中如果属性和值就是自己,并且只有一个,那么值可以省略
异或运算
10 1010
20 10100
相同则为0 不同则为1
num1 = num1^num2 1010
10100
11110=30
num2=num1^num2
11110
10100
01010=10
num1=num1^num2
11110
1010
10100=20
console.log(num1,num2);
变量名命名的规范:由字母,下划线或者$符号开头,中间包含
字母、下划线或者$或者数字;推荐变量名最好不要以$符号开头--
--要学习JQ,里面都是$符号开头
变量名要有意义,最好用单词,如果单词不会用拼音,千万不要用简写的方式
变量名都是小写的,如果这个变量名是多个单词组合的,那么第一个单词的第一个字母与
要小写,后面的单词的第一恶字母要大写----驼峰命名法
变量的初始化:声明一个变量并且赋值
js重的原始数据类型:Number String Boolean Null undefined Object
Null值只有一个null
undefined类型的值只有一个undefined
boolean(bool)布尔类型,值有两个:true false 1或0 ,针或者假
一般1表示男 0 表示女
什么情况下变量值为undefined,结果为undefined,未定义的情况下
如果一个函数没有明确的返回值,接收结果了,也是undefined
显示变量名typeof 变量名 typeof(变量名)
如果想要使用变量,最好先判断变量的类型是不是undefined或者是不是null
如果一个变量的值是 八进制 十进制 十六进制 会议十进制输出
不要用小数验证小数
Infinity 无穷大 -Infinity小
字符串:string类型,可以用单引号也可以用双引号
字符串特性:不可变(讲字符串对象的时候配合堆内存空间讲解)
其他类型转布尔类型:
非零数值转布尔类型是true,0转为flase
非空字符串是true 空字符串是flase
当一个变量声明了没有赋值,是undefined
当一个变量声明了没有初始化,是undefined
数据类型转换:
1.其他类型转数字类型
Number(变量)
parseInt(变量)转整数
parseFloat(变量)包括小数
小数转整数丢失精度
2.其他类型转字符串类型
.toString()
String()
3.其他类型转布尔类型
运算符:
算术运算符:+ - * / %
算术运算表达式:首先是一个表达式,由算术运算符连接起来的表达式
叫作算术运算表达式
一元运算符:++ -- ++num num++ --num num--
一元运算表达式:由一元运算符连接起来的表达式叫作亿元运算符表达式
三院运算符:? :
复合运算符:+= -= *= /= %=
比较运算符:< > >= <= === != !==
比较运算表达式的结果是布尔类型;
逻辑运算符: && || !
逻辑运算表达式的结果是布尔类型
流程控制:控制代码执行的顺序
顺序结构:代码从上到下,从左到右(有时候从右到左)执行
分支结构:if语句,if-else语句,if-else if-else if...else语句
switch-case语句,三元表达式
循环结构:while和do while
单行注释一般在一行代码上,多行注释一般会在函数、方法、构造函数上使用
js基础01的更多相关文章
- 【JavaScript从入门到放弃】JS基础-01
作为一个前端开发人员,JS是我们行走江湖吃饭的家伙.基本上一个前端人员能值多少大洋,就看JS了.虽然各种框架层出不穷,但是归根结底学好原生JS才是硬道理. 学习任何新东西其实都遵循 10000 小时成 ...
- 01慕课网《进击Node.js基础(一)》Node.js安装,创建例子
版本:偶数位为稳定版本,基数为非稳定版本 - 0.6.x - 0.7.x - 0.8.x -0.9.x -0.10.x -0.11.x 概念:Node.js采用谷歌浏览器的V8引擎,用C ...
- js 基础篇(点击事件轮播图的实现)
轮播图在以后的应用中还是比较常见的,不需要多少行代码就能实现.但是在只掌握了js基础知识的情况下,怎么来用较少的而且逻辑又简单的方法来实现呢?下面来分析下几种不同的做法: 1.利用位移的方法来实现 首 ...
- javascript基础01
javascript基础01 Javascript能做些什么? 给予页面灵魂,让页面可以动起来,包括动态的数据,动态的标签,动态的样式等等. 如实现到轮播图.拖拽.放大镜等,而动态的数据就好比不像没有 ...
- JS基础(超级简单)
1 JS基础(超级简单) 1.1 数据类型 1.1.1 基本类型: 1) Number:特别注意:NaN的检测方法:Nan!=NaN;或者使用isNaN方法 2) ...
- Web3D编程入门总结——WebGL与Three.js基础介绍
/*在这里对这段时间学习的3D编程知识做个总结,以备再次出发.计划分成“webgl与three.js基础介绍”.“面向对象的基础3D场景框架编写”.“模型导入与简单3D游戏编写”三个部分,其他零散知识 ...
- js基础和工具库
/* * 作者: 胡乐 * 2015/4/18 * js 基础 和 工具库 * * * */ //根据获取对象 function hGetId(id){ return document.getElem ...
- JS基础--函数与BOM、DOM操作、JS中的事件以及内置对象
前 言 絮叨絮叨 这里是JS基础知识集中讲解的第三篇,也是最后一篇,三篇JS的基础,大多是知识的罗列,并没有涉及更难得东西,干货满满!看完这一篇后,相信许多正在像我一样正处于初级阶段的同学, ...
- 1、js基础内容
js基础内容 1. 编辑器 编译环境 浏览器 编辑软件 sublime DW H5Build Atom ==[注]尽可能多的去使用编辑器去编辑代码.== Html+css ==JS 逻辑== 比作建设 ...
随机推荐
- javascript正则表达式入门
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- Linq常见操作示例
static void DeferredQuery() { var names = new List<string> { "Nino", "Alberto&q ...
- Cygwin-添加到右键菜单脚本--一键安装、卸载
平时习惯用一些linux命令来完成工作,在Windows上有cygwin和gitbash两个选择.这两个我都装了. 相对来说cygwin支持的功能更多一些,但是它没有默认绑定到右键菜单.为此,我想到用 ...
- caffe源码 池化层 反向传播
图示池化层(前向传播) 池化层其实和卷积层有点相似,有个类似卷积核的窗口按照固定的步长在移动,每个窗口做一定的操作,按照这个操作的类型可以分为两种池化层: 输入参数如下: 输入: 1 * 3 * 4 ...
- Mysql数据库导出数据字典文档Word或者HTML的3个工具
最近需要将Mysql的数据库导出一份Word的文档出来,本文记录调研后几个可用的工具和方法: 阿里云DMS工具导出 适用于存储在阿里云RDS服务中的Mysql数据库 导出格式支持:Word.Excel ...
- Akka(31): Http:High-Level-Api,Route rejection handling
Route 是Akka-http routing DSL的核心部分,使用户能比较方便的从http-server的角度筛选http-request.进行server运算.构建回复的http-respon ...
- SpringBoot的几个使用技巧
SpringBoot的几个使用技巧 首先提供几个SpringBoot开发过程中常用的网站: Spring Boot官方文档:http://docs.spring.io/spring-boot/docs ...
- cordova封装h5为app,cookie不可用解决方法
//创建cookie function setCookie(c_name,value,expiredays) { var exdate=new Date(); exdate.setDate(exdat ...
- Linux系列教程(七)——Linux帮助和用户管理命令
上篇博客我们介绍了Linux文件搜索命令,其中find是用的最多的也是功能最强大的文件或目录搜索命令,和另一个搜索命令locate的区别是,find命令是全盘搜索,刚创建的文件也能搜索的到,而loca ...
- TensorFlow Object Detection API(Windows下训练)
本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃 最近事情比较多,前面坑挖的有点久,今天终于有时间总结一下,顺便把Windows下训练跑通.Li ...