智能社讲解js基础
一,Javascript的组成
ECMAScript:翻译,核心,解释器,
DOM:文档对象模型,Document Object Model
操作HTML的能力,document对象
BOM:浏览器对象模型,Browser Object Model
window对象
ECMA:几乎没有兼容问题
DOM:有一些操作部兼容
BOM:没有兼容问题,完全不兼容
二,变量的类型
5种基本类型:unll,undefined,boolean,number,string
1种复杂类型:object
5种引用类型:Array,Date,RegExp,Object,Function
3种基本包装类型:Boolean,Number,String
2种单体内置对象:Global,Math
undefined:没有定义的变量,var声明没有初始化的变量
一个变量应该只存放一种类型的变量
类型转换函数:Boolean(),Number(),parseInt(),parseFloat(),string()
NaN,not a number,非数字,isNaN(),如果传人的参数不是数字返回true
隐式类型转换:if语句自动转换为boolean值,==自动转换两边类型,-自动把两边操作数转换为数字
三,变量的作用域
四,闭包
五,命名规范
六,运算符
隔行换色,对2求模,等于=(0,1)
秒转时间,秒数/60为分,js中/可以得到小数的结果,秒数%60得到结果为秒
七,流程控制
if,switch,?:三目运算符
八,json
json中没有length属性,json中的循环,
for(var i in json)来循环json的中的数据
数组中可以for-length循环或者for-in循环
js深入
一,函数的返回值,
函数没有return,返回undefined
二,函数传参(不定参)
argument,保存传人的参数的一个类数组的对象
取非行间样式,(IE中).currentStyle获取非行间样式,.style获取行间样式
(chrome,ff)getComputedStyle(odiv,false).width
三,数组基础
var arr=[];性能高
var arr = new Array(12,12,2)
设置数组的length,可以改变数组的个数
push(),在数组的尾部添加项,有参数
pop(),在数组的尾部删除项,无参数
shift(),在数组的头部删除项,无参数
unshift(),在数组的头部添加项,有参数
splice(删除的起始项,删除的项数,添加的项数),索引基于0
concat(),拼接数组,
join(分隔符),基于指定的分隔符拼接数组
sort(),只识别字符串,传人一个比较函数function(n1,n2){return n1-n2;}
智能社讲解js基础的更多相关文章
- JavaScript学习--(智能社视频)
JavaScript学习,这是智能社官网上的JS视频,讲解的挺不错的,就是没有视频的demo,在视频中附上自己编写的一些demo... 下载地址:http://pan.baidu.com/s/1cPz ...
- JS基础--函数与BOM、DOM操作、JS中的事件以及内置对象
前 言 絮叨絮叨 这里是JS基础知识集中讲解的第三篇,也是最后一篇,三篇JS的基础,大多是知识的罗列,并没有涉及更难得东西,干货满满!看完这一篇后,相信许多正在像我一样正处于初级阶段的同学, ...
- js基础梳理-如何理解作用域和作用域链?
本文重点是要梳理执行上下文的生命周期中的建立作用域链,在此之前,先回顾下关于作用域的一些知识. 1.什么是作用域(scope)? 在<JavaScritp高级程序设计>中并没有找到确切的关 ...
- 智能社官网顶部导航实现demo
从智能社的blue老师公开课中学习到了很多,在此表示感谢. 这个导航很好玩,于是就想实现一个. html <div id="box"> <ul> <l ...
- js 基础篇(点击事件轮播图的实现)
轮播图在以后的应用中还是比较常见的,不需要多少行代码就能实现.但是在只掌握了js基础知识的情况下,怎么来用较少的而且逻辑又简单的方法来实现呢?下面来分析下几种不同的做法: 1.利用位移的方法来实现 首 ...
- js 基础
js基础知识点总结 如何在一个网站或者一个页面,去书写你的js代码:1.js的分层(功能):jquery(tool) 组件(ui) 应用(app),mvc(backboneJs)2.js的规划():避 ...
- js基础练习二之简易日历
今天学到了js基础教程3,昨天的课后练习还没来的及做,这个是类似简易日历的小案例,视频还没听完,今晚继续...... 先看效果图: 其实做过前面的Tab选项卡,这个就很好理解了,通过鼠标放在不同月份月 ...
- [JS复习] JS 基础知识
项目结尾,空闲时间,又把<JS 基础知识> 这本书过了一遍,温故知新后,很多知其然不知其所以然的内容 豁然开朗. [1. 用于范围的标签] display :inline or bloc ...
- JS基础(超级简单)
1 JS基础(超级简单) 1.1 数据类型 1.1.1 基本类型: 1) Number:特别注意:NaN的检测方法:Nan!=NaN;或者使用isNaN方法 2) ...
随机推荐
- AVA编程中button按钮,actionlistener和mouseClicked区别
在java的编程中,对于按钮button 有两个事件: 1.actionPerformed 2.mouseClicked 区别: actionPerformed:一般事件,仅侦听鼠标左键的单击事件,右 ...
- ELK一个优秀的日志收集、搜索、分析的解决方案
1 什么是ELK? ELK,是Elastaicsearch.Logstash和Kibana三款软件的简称.Elastaicsearch是一个开源的全文搜索引擎.Logstash则是一个开源的数据收集引 ...
- MySQL简介及安装 mysql Ver 14.14 Distrib 5.7.28
1.MySQL简介 1.数据库产品演变 第一代数据库架构: RDBMS 关系型数据库时代 : 合的时代 代表产品 :Oracle .MSSQL .MySQL.SQL server 第二代数据库架构:拆 ...
- Python赋值、浅复制和深复制
Python赋值.浅复制和深复制 首先我们需要知道赋值和浅复制的区别: 赋值和浅复制的区别 赋值,当一个对象赋值给另一个新的变量时,赋的其实是该对象在栈中的地址,该地址指向堆中的数据.即赋值后,两 ...
- Python内存浅析
Python内存分析 内存机制 转述:内存中的堆栈和数据结构堆栈不是一个概念,可以说内存中的堆栈是真实存在的物理区,数据结构中的堆栈是抽象的数据存储结构. Python的内存机制和Java差不多,分为 ...
- Servlet中的一些注意事项
servlet中的一些注意事项 1 什么是servlet? 1)Servlet是Sun公司制定的一套技术标准,包含与Web应用相关的一系列接口,是Web应用实现方式的宏观解决方案.而具体的Servle ...
- Nginx配置代理gRPC的方法
Nginx配置代理gRPC的方法_nginx_脚本之家 https://www.jb51.net/article/137330.htm
- https://twistedmatrix.com/documents/current/core/howto/defer.html
https://twistedmatrix.com/documents/current/core/howto/defer.html
- spring restTemplate 进行http请求的工具类封装
本文为博主原创,未经允许不得转载: 1.对常用调用的方法进行封装: import org.springframework.http.HttpHeaders; import com.alibaba.fa ...
- 数据备份与恢复 半持久化 全持久化 fork aof rdb Backing up Disaster recovery 备份 容灾
Redis数据备份与恢复 - 流年晕开时光 - 博客园 https://www.cnblogs.com/deny/p/11531355.html Redis数据备份与恢复 Redis所有数据都是保存在 ...