智能社讲解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) ...
随机推荐
- Centos 7 网卡配置
网卡配置位置 1 /etc/sysconfig/network-scripts/ifcfg-ethx -----其中x为网卡名称,centos 默认网卡名称为ens33 如何配置 1 2 3 4 ...
- 如果using语句中出现异常,资源会被释放掉吗?
<CLR Via C#>第三版 P489 在using内部抛出了异常,被using的对象还是会被释放掉. Using编译时会自动生成Try Finally代码块. 同样Using只能用于实 ...
- widnows2008双网卡双ip不同Ip段
机房内有不同段ip,因为线路不一样,比如普通带宽和cn2带宽,现有需求配置双网卡双ip ip1: 121.7*.*.* 255.255.255.192 121.7*.*129 ip2: 103.11 ...
- Linux网卡没有eth0显示ens33原因以及解决办法
原因 首先说明下eth0与ens33的关系: 目前的主流网卡为使用以太网络协定所开发出来的以太网卡 (Ethernet),因此我们 Linux 就称呼这种网络接口为 ethN (N 为数字). 举例来 ...
- 简话http请求
一.http请求概念: 1.是指从客户端到服务器端的请求消息.包括:消息首行中,对资源的请求方法.资源的标识符及使用的协议. 包括请求(request)和响应(response) 2.过程: 域名解析 ...
- Go Proverbs
https://github.com/go-proverbs/go-proverbs.github.io Go Proverbs Simple, Poetic, Pithy Don't communi ...
- Hash Array Mapped Trie
Hash Array Mapped Trie Python\hamt.c
- mysql本地中127.0.0.1连接不上数据库怎么办
首先在本地使用Navicat for MySQL建立一个bai数据库.在dreamweaver中建立一个PHP格式的网页,方便链接测试.测试发du现,如果zhi无法使用localhost链接mysql ...
- 如何在windows下切换node版本
安装nvm 最近的项目中,一个是用vue项目开发,一个是使用react开发,但是ant design pro使用了umi框架,所需要的node版本>10.0.0,vue那个项目中又不兼容node ...
- CCF-交通规划-dijkstra+贪心
交通规划 问题描述 G国国王来中国参观后,被中国的高速铁路深深的震撼,决定为自己的国家也建设一个高速铁路系统. 建设高速铁路投入非常大,为了节约建设成本,G国国王决定不新建铁路,而是将已有的铁路改造成 ...