学过javascript还是觉得学的不扎实【总结】

今天我写这篇文章,是因为被点名提问,好多东西虽然已经学过看过,但有没有真正的理解过???为了更好地学习,我写了这篇总结篇,当然此文只是文档。只是辅导作用。

有人说javascript很难,但是这是h5开发基础语言,让我们一起跨过这个坎.....

javascript --语言 :ECMAjavascript(语法)Dom和Bom组成
web开发程序执行流程 :http请求 解析url路径 请求服务器

http超文本传输协议

两种javascript注释语法 : // /* */
过多的javaScript注释会降低JavaScript的执行速度与加载速度,因此应在发布网站时,去掉多余的注

释。

一、数据类型:
1、任何涉及NaN的操作(例如NaN/10)都会返回NaN
2、NaN与任何值都不相等,包括NaN本身。 一旦在程序中出现:NaN。那么肯定进行了非法的运算操作。

null值表示一个空对象指针,所以当你使用typeof操作符检测null值时会返回”object”
typeof(null) //object

alert(typeof(null))//object
alert(typeof NaN)//number
alert(Number(true)) true 表示1 false 表示0
alert(parseInt("123.321blue")) //转换到出现无法转换的为止 blue /NAN
var a = 11,b = ‘22‘;
var c = a + b;
console.log(c)//33 当一个是数字类型一个是字符串 js引擎会默认进行非算法计算,利用运算符 "+" 这个特性,可以很方便的将Number转换成string

var a = 22,b = ‘11‘;
var c = a - b;
console.log(c)//11 与 "+" 相反,这里把b默认转为了数字型 11进行了算法计算,利用这个特性很方便的将string转为了Number
var i = 1; j = ++i;
console.log(j);

二、表达式 ,是通过把常量,变量,函数等通过运算逻辑的方式连接起来。
运算符常用到的有 :
算法运算符 一般是 + - * / %(膜,用来取余)
比较运算符 != == <= >= 一般用来判断
逻辑运算符
! 取反 && 并存关系 两个为true才为true || 一个为true就是true
三元运算符 ? 是判断条件 : 前为true 后为false eg: 1<2 ? alert(1+“小于2”): alert(1+"

大于2")
void是一个操作符,没有返回值。用法格式 : void (0) 最常见的a href="#" 这种形式会整体刷新页

面,href="javascript:void(0)" 则不会
逗号运算符。
声明变量用一个var,逗号连接‘,’ 推荐这么写。

条件语句:
if :判断语句,经常能用到,让javascript程序选择性的执行语句。

switch 当只判断一条表达式时,首先使用switch。

for循环语句 很常用 ,用到递增 、递减。

return 返回值。

三、函数 : 提高了代码的重用性(复用性)
函数需要调用才能执行。
函数又有作用域。在函数外部是全局变量,任何地方都可以使用。反正局部变量,只能在函数里执行。

Math 对象:
Math.random() 返回0-1之间的随机数
随机数定义随机值 : Math.floor(Math.random()*(最大值-最小值+1)+最小值)

String: 处理文本的字符串类型
声明一个String
.charAt() 返回所在的字符
.charCodeAt() 返回所在的Unicode 编码
String.fromCharCode() 返回
Unicode 编码
.search() 返回与参数匹配的位置
.replace() 替换的字符串
.substring() 提取两个下标之间的字符 参数不能是负数 与slice()相似
.substr() 第一个是开始下标 第二个为长度
.match() 找到字符串内索引指定的值.split() 从指定地方分割成数组字符串
.concat() 连接两个或者多个字符串

var str=new String(‘lijiayang‘);
alert(str.search(‘jia‘))
alert(str.substring(4))

四、数组:键值对
添加数据
var a=[];
a[0]=‘1‘;
a[1]=‘2‘;
也可以用a.push(‘3‘)
删除 delete arr[0]
pop() 删除最后一个元素
join() 替换分隔符
reverse() 元素顺序颠倒
sort() 元素进行排序
concat() 合并数组
slice() 截取数组
splice() 插入、删除、替换
unshift() 在头部添加元素
shift() 删除第一个元素

var a=[];
a[0]=‘1231‘;
a[1]=‘213‘;
console.log(a)

for/in循环 用在循环数组和json

五、Dom:HTML 文档中的所有内容都是节点(元素树)
DOM 节点关系 : 上级(parent) 子级(children) 同级(sibling)
1、parentNode    获取该节点的父节点
2、childNodes    获取该节点的子节点数组
    
3、firstChild    获取该节点的第一个子节点
    
4、lastChild    获取该节点的最后一个子节点
    
5、nextSibling    获取该节点的下一个兄弟元素
    
6、previousSibling    获取该节点的上一个兄弟元素
7、children 获取所有的子元素节点
appendChild() 创建新节点
createElement() //创建一个具体的元素

createTextNode() //创建一个文本节点

appendChild() 添加

removeChild()移除

replaceChild()替换
insertBefore()插入
cloneNode() 方法创建指定节点的精确拷贝
createAttribute() 创建新的 Attr 节点

offsetParent 只读属性 返回离当前元素最近的一个有定位属性的父节点offsetLeft 返回元素的X坐

标offsetTop 返回元素的Y坐标scrollHeight 过去滚动高度
scrollLeft
设置或获取可视窗口的左边之间的距离
scrollTop
设置或获取可视窗口的顶端之间的距离
Bom:
六、Window : 表示浏览器窗口
全局变量是 window 对象的属性。

全局函数是 window 对象的方法。
window时间函数:
setInterval()定时器

setTimeout () 一次性定时器

clearInteval() 清除定时器

clearTimeout() 清除一次性定时器

七、系统弹出框:
alert()、confirm()、prompt()
Location 对象:
location.hostname 返回当前 URL 的主机名。

location.pathname 返回当前 URL 的路径部分。

location.protocol 返回当前 URL 的协议。

location.href 返回完整的 URL。

八、事件流:
事件冒泡:
从最具体的元素向上传播叫做事件冒泡
事件捕获:
由document文档流到最具体的元素为止
事件委托:
把父元素的事件赋予子元素
事件绑定:
给元素添加事件
event对象:
Event 对象代表事件的状态 事件通常与函数结合使用 键盘按键的状态、鼠标的位置、鼠标按钮的状态

九、表单验证,登录信息一般都会用到验证:
用/javascript/ 在字符串前后分别添加一个斜杠 ^表示开始 $结束

时间: 2024-08-29 01:06:48

学过javascript还是觉得学的不扎实【总结】的相关文章

跟我学《JavaScript高程3》第三讲,课程笔记

跟我学<JavaScript高程3> 第三讲:第4章 课程制作:bling,兴哥,5年Java,3年前端 课程知识:JavaScript.Html.Css 课程目标:前端体系课程,逐步深入,找到一份前端工作    课程大纲:本书目录结构 适合人群:前端初学者,可以0基础,但要认真,踏实 课程回顾 1.数据类型:5种基本类型,1中复杂类型. 2.操作符:需要注意运算优先级,算关逻条赋逗. 3.语句:if-else.for.for-in.while 4.函数:函数定义,目前的两种方法 补充:变量在

菜鸟学前端--javascript基础

在学习过css相关的知识,有了前端工程师的一些基础知识.但要较好的掌握前端,必须要学习好javascript的知识. 下面将从基本语法.变量.关键字.保留字.语句.函数.BOM等角度阐释. 一.基本语法 javacript作为一种面向对象的.脚本级的轻量语言,与java一脉相承. 命名:区分大小写,弱类型定义(一般采用var,不限制类型). 行末分号可有可无(从经验上来看,推荐写,可以提高代码阅读质量). 括号用于代码段. 注释与C.java类型,单行用"//",段注释用"/

跟我学《JavaScript高程3》视频教程,下载地址

课程终于开讲了,录制课程其实是一件虽然辛苦但是有意思的事情,希望能够和大家一起分享,一起学习,共同进步. 本文章不定期更新,用于存放整套课程下载地址. 1.跟我学<JavaScript高程3>第一讲:第1~3章 百度云: 下载地址:http://pan.baidu.com/s/1qY9tNty 下载密码:fuuj

跟我学《JavaScript高程3》第一讲,课程笔记

跟我学<JavaScript高程3> 第一讲:第1~3章 课程制作:bling,兴哥,5年Java,3年前端 课程知识:JavaScript.Html.Css 课程目标:前端体系课程,逐步深入,找到一份前端工作    课程大纲:本书目录结构 适合人群:前端初学者,可以0基础,但要认真,踏实 回答几个问题 1.为什么要学习前端?JavaScript有哪些用处?为什么要讲这本书? 移动互联网是未来的趋势,移动设备H5开发带动了前端趋势,今后App基本都是Native+H5实现. 页面效果,数据交互

从一行代码里面学点JavaScript

从一行代码里面学点JavaScript   (转载自这里) 现如今,JavaScript无处不在,因此关于JavaScript的新知识也是层出不穷.JavaScript的特点在于,要学习它的语法入门简简单,但是要精通使用它的方式却是一件不容易的事. 来看看下面的这段代码,它来自于谷歌"名猿"Addy Osmani在几天前贴出的一段代码,它的作用是用来调试你的CSS层.全部代码只有三行,但是你绝对可以把它放在一行里面完成: [].forEach.call($$("*"

跟我学《JavaScript高程3》 第二讲,课程笔记

跟我学<JavaScript高程3> 第二讲:第3章 课程制作:bling,兴哥,5年Java,3年前端 课程知识:JavaScript.Html.Css 课程目标:前端体系课程,逐步深入,找到一份前端工作 课程大纲:本书目录结构 适合人群:前端初学者,可以0基础,但要认真,踏实 课程回顾 1.静态项目基本结构:html.css.js.images 2.文件的方式引入一个JavaScript脚本文件:引入方式.引入路径 3.变量编写Hello,world:变量的定义,使用变量. 补充:变量在讲

译-2018年该学哪一个JavaScript框架?

首先我要定义一下我心中的代码框架,因为这个词存在争议.我认为框架是一个库(注:个人不太同意这个说法),它定义了每一个方面或层的结构,使创建应用程序的任务变得更容易.从层上说,我指的是数据库.模型.控制器.视图.表现层.网络,等等...... 框架尝试去解决在应用中经常遇到的绝大多数大且已知的问题.它们内置了许多你不需要关心的设计决策,它们同样也有精心制定的指导方针. 好的框架有巧妙的默认值以及遵循约定而不是配置的概念,在这方面做得好的是 Ruby On Rails 框架,同时也是我最喜欢的框架之

最大的幻术-游戏开发-到底是先学游戏引擎还是先学游戏编程

学习游戏的目的 我们学习游戏制作,游戏开发,游戏编程,游戏XX,我们的目的只有一个,打造一个非常牛逼,非常屌,非常让人开心的虚拟体验.我们用自己的学识让玩家在虚拟世界征战,生活,一步一步的让玩家幸福!那么我们的目的只有一个,让玩家知道自己的幸福在哪里,并且学会追求自己的幸福.当然,每个人对幸福的定义不一样.那么,我们只好让玩家来体验我们所来表达的最通俗的,最普遍的幸福体验,然后慢慢引导玩家去寻找自己的幸福体验.可能,在最后玩家都会离开游戏,离开虚拟世界,(对,这是真的,玩家需要一步一步达到定点,

50个查询系列-第六个查询:查询学过“001”并且也学过编号“002”课程的同学的学号、姓名

查询学过"001"并且也学过编号"002"课程的同学的学号.姓名: 我的写法: 第一步:先查出来学过"001"并且也学过编号"002"课程的同学的学号: SELECT t11.t1sid t33id FROM (SELECT t1.StuId t1sid FROM tblscore t1 WHERE t1.CourseId='001')t11,-- 001的学生的id (SELECT t1.StuId t2sid FROM t