智能社讲解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) ...
随机推荐
- 使用.net中的API网关模式封装微服务
在本文中,我们将了解如何使用API网关模式来封装微服务并抽象出底层实现细节,从而允许使用者拥有进入我们系统的一致入口点. 为了构建和测试我们的应用程序,我们需要: 1.Visual Studio 20 ...
- Junit测试和反射
Junit单元测试 测试分类 黑盒测试:不需要写代码,给输入值,看程序能否得到输出期望值. 白盒测试:需要些代码,关注程序具体的执行流程. Junit的使用 步骤 定义一个测试类(测试用例). 定义测 ...
- Mysql 中写操作时保驾护航的三兄弟!
这期的文章主要是讲述写操作过程中涉及到的三个日志文件,看过前几期的话可能你或多或少已经有些了解了(或者从别的地方也了解过).比如整个写操作过程中用到的两阶段提交,又或者是操作过程中涉及到的日志文件,但 ...
- Linux更换软件源
1. Ubuntu16.04 sudo cp /etc/apt/sources.list /etc/apt/sources_origin.list # 备份 sudo gedit /etc/apt/s ...
- git commit,启动文本编辑器
git commit中输入message的几种方式 - 简书 https://www.jianshu.com/p/ad461b99e860 在所有的git教程里,git commit肯定是一开始就会提 ...
- (Sql Server)SQL FOR XML PATH
FOR XML PATH 有的人可能知道有的人可能不知道,其实它就是将查询结果集以XML形式展现,有了它我们可以简化我们的查询语句实现一些以前可能需要借助函数活存储过程来完成的工作.那么以一个实例为主 ...
- 服务降级 托底预案 Nginx中使用Lua脚本检测CPU使用率,当达到阀值时开启限流,让用户排队
https://mp.weixin.qq.com/s/FZAcQQAKomGEe95kln1HCQ 在京东我们是如何做服务降级的 https://mp.weixin.qq.com/s/FZAcQQAK ...
- makefile自动生成学习
https://www.cnblogs.com/jrglinux/p/6964169.html 关键是如何写Makefile.am 其他的交给 自动工具完成 添加一个 很好的博客 学习下 https ...
- Dubbo 总结:关于 Dubbo 的重要知识点
一 重要的概念 1.1 什么是 Dubbo? Apache Dubbo (incubating) |ˈdʌbəʊ| 是一款高性能.轻量级的开源Java RPC 框架,它提供了三大核心能力:面向接口的远 ...
- CF492B
题意 一条长为L的路,在n个不同的位置都放置了路灯,灯光半径相同,问半径至少为多少时灯光可以覆盖整条路. 那我们就先排序,使灯的位置是从路的一边依次排到另一边的 ,然后求出两两挨着的灯之间距离的最大值 ...