常见的五大浏览器: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的更多相关文章

  1. 【JavaScript从入门到放弃】JS基础-01

    作为一个前端开发人员,JS是我们行走江湖吃饭的家伙.基本上一个前端人员能值多少大洋,就看JS了.虽然各种框架层出不穷,但是归根结底学好原生JS才是硬道理. 学习任何新东西其实都遵循 10000 小时成 ...

  2. 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 ...

  3. js 基础篇(点击事件轮播图的实现)

    轮播图在以后的应用中还是比较常见的,不需要多少行代码就能实现.但是在只掌握了js基础知识的情况下,怎么来用较少的而且逻辑又简单的方法来实现呢?下面来分析下几种不同的做法: 1.利用位移的方法来实现 首 ...

  4. javascript基础01

    javascript基础01 Javascript能做些什么? 给予页面灵魂,让页面可以动起来,包括动态的数据,动态的标签,动态的样式等等. 如实现到轮播图.拖拽.放大镜等,而动态的数据就好比不像没有 ...

  5. JS基础(超级简单)

    1     JS基础(超级简单) 1.1 数据类型 1.1.1   基本类型: 1)        Number:特别注意:NaN的检测方法:Nan!=NaN;或者使用isNaN方法 2)       ...

  6. Web3D编程入门总结——WebGL与Three.js基础介绍

    /*在这里对这段时间学习的3D编程知识做个总结,以备再次出发.计划分成“webgl与three.js基础介绍”.“面向对象的基础3D场景框架编写”.“模型导入与简单3D游戏编写”三个部分,其他零散知识 ...

  7. js基础和工具库

    /* * 作者: 胡乐 * 2015/4/18 * js 基础 和 工具库 * * * */ //根据获取对象 function hGetId(id){ return document.getElem ...

  8. JS基础--函数与BOM、DOM操作、JS中的事件以及内置对象

       前   言 絮叨絮叨 这里是JS基础知识集中讲解的第三篇,也是最后一篇,三篇JS的基础,大多是知识的罗列,并没有涉及更难得东西,干货满满!看完这一篇后,相信许多正在像我一样正处于初级阶段的同学, ...

  9. 1、js基础内容

    js基础内容 1. 编辑器 编译环境 浏览器 编辑软件 sublime DW H5Build Atom ==[注]尽可能多的去使用编辑器去编辑代码.== Html+css ==JS 逻辑== 比作建设 ...

随机推荐

  1. 【DDD】业务建模实践 —— 人关注人

    社区业务领域中,存在‘人关注人’的场景,在这个场景中,关系较为复杂,且均表现在‘人’同一个业务实体上,因此,这个case的建模过程值得思考.本文将就‘人关注人’这个业务case的领域建模进行探讨,欢迎 ...

  2. java web jsp学习笔记--概述-常用语法,指令,动作元素,隐式对象,域对象

     JSP学习笔记 1.什么是jsp JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术.JSP/Servlet规范.JS ...

  3. sql 时间格式

    在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日 ...

  4. 关于java的自动拆装箱若干细节问题

    一.首先需要了解的几个前提: 1.自动装箱过程是通过调用valueOf方法实现的(如Integer.valueOf(10)),而拆箱过程是通过调用包装器的 xxxValue方法实现的(如Integer ...

  5. VB改变文件及文件夹属性的函数

    '以下为FSO对象的使用示例(VB6.0) Private myFSO As New FileSystemObject Private myFile As File Private myFolder ...

  6. 深入浅出Diffie–Hellman

    一.作者 这个密钥交换方法,由惠特菲尔德·迪菲(Bailey Whitfield Diffie).马丁·赫尔曼(Martin Edward Hellman)于1976年发表. 二.说明 它是一种安全协 ...

  7. JavaScript中的面向对象程序设计

    本文内容目录顺序: 1.Object概念讲述: 2.面向对象程序设计特点: 3.JavaScript中类和实例对象的创建: 4.原型概念: 5.原型API: 6.原型对象的具体使用:7.深入理解使用原 ...

  8. LeetCode 277. Find the Celebrity (找到明星)$

    Suppose you are at a party with n people (labeled from 0 to n - 1) and among them, there may exist o ...

  9. python中openpyxl的用法【安装,以及一些基本的操作】

    概述 Openpyxl是python中简单易用的操作excel电子表格的一个模块.接下来呢,跟博主一起学习一下吧  ----_<_>_---- 首先先清楚一些excel的基本概念: 在op ...

  10. 读书笔记-你不知道的JS上-声明提升

    变量声明提升 Javascript代码一般情况下是由上往下执行的,但是有些情况下不成立. a = 2; //变量声明被提升在当前作用域顶部 var a; console.log(a); console ...