大白话之------------JavaScript成长日记

进度表

1.
if判断
if……
else if ^……else 可有可无根据需要而定
2.
style
a,操作的是行间样式-----用style获取不靠谱
b,style class------不要混着用--用class
3.
class-----要写成className
原因是:它是个保留字(或者说是个关键字)
4.
javascript:;
作用:不做事,点击后不跳到页面的顶部
5.
事件提取
window.οnlοad=function
{
};
作用:页面加载完后执行函数
当js写在body上面的时候,必须用
6.
参数
作用:往函数里面传东西,
穿多少?
不限制个数和类型(数字,字符串)视需求而定
7.
获取元素
getElementById -------------------一个
getElementsByTagName -------------一组
getElementsByClassName -----------一组----不兼容低版本
getElementsByName----------------一组
注释:
ById只能在document下调用,不能在某个元素下调用
原因是:在document下调用和在 某个元素下调用效果一样,所以就没必要在 在某个元素下调用

8.
数组
作用:往里面存东西
有两个属性:
length:个数
arr[xx]:下标---->第几个,从0开始
9.
操作一组元素------循环
while的基本格式:
while(条件)             适合:次数不固定
{
   语句
}
当然写可以写成这样:
var i=0;      //1.初始化
while(i<5)     //2.条件  
{
  alert(i);    //3.语句
  //i=i+1;      //4.自增
  i++;
for的基本格式:  
for(初始化;条件;自增)   适合:次数固定
语句

当然写可以写成这样:
for(;条件;)   
语句
10.
分号-----指语句的结束
分号不是给函数加的;给赋值语句加的
任何语句的结束都应该有分号(防止压缩代码后出现问题)
11.
学习JS需要掌握两项要点:
a.基本操作:
如:如何定义函数,如何操作函数,如何获取元素
b.思想:思路、套路(见多了就会觉得非常简单)
如: 思路案例一
选项卡的思想:
先,把所有的弄没了
再,把当前的弄上
12.
innerHTML-----读、写标签里面的html代码
字符串连接
13.
typeof----检测类型
变量没有类型,它里面装的东西用类型
查看变量类型
alert(typeof 12);
number/string/boolean/function/undefined/object
null:object类型
基本类型:
number/string/boolean/function/undefined
混合类型、组合类型:
object:是有基本类型组成的
div      id/title     string
        width/height  number
14.
参数:可以传到函数里面的值
a.参数的个数不限
b.参数的具体值, 定义的阶段不知道,只有调用的时候才有
c.什么时候传,传几个完全根据需求来定
参数用途:往里面传东西
*对于函数来说定义不重要,调用才重要
参数是调用者传进去的
var a=12
function show()
{
 alert(a);
}
a=5;
弹出的肯定是5,而不是12
15.
属性
属性访问符有两种:
a.点         oDiv.title
b.方括号      oDiv.['title']
点和方括号可以混着用
oDiv.style['background']
延伸
点后面你写的是什么就是什么它变不了
var title="xxx"
oDiv.title   操作的是title
而方括号里面title可以,以变量的形式存在
oDiv[title]  操作的是变量
16.
数组
一次只能操作一个元素
aDiv.style.background=xxxx  这样设置就错了
alert(aCh.checked)       这样获取也错了
aDiv[1].style.background=xxxx  这样设置就对了
alert(aCh[1].checked)       这样获取也对了
17.
innerHTML/parentNode/字符串连接/this
this:指当前的 
18
选项卡
19
类型转换
字符串----->转数字
显式类型转换(强制类型转换)
parseInt      提取整数
parseFloat     提取整数+小数
Number        转为数字(含非数字就会报错)

如:+
隐式类型转换
如:
-
alert('12'*'5');弹出60
20
真假
只要没有东西就是假
21
返回值:return
需要返什么就直接返
用法:
return xxx;
{
xxxxxxxx;
return;
}
22.
变量作用域:也就是变量的范围
a.全局  全局变量:定义在函数外面   非常不好
全局变量其实是window的 一个属性
给window加东西其实就是全局变量如:window.xxx=??;
var a=12;            var a=12;
function show()        function show()
{                 {
    var=5                                                           var=5
 alert(a)             alert(window.a)
}                 }//指明要全局变量
show();              show();
则弹出:5           则弹出:12
b.局部  局部变量:定义在函数里面
子函数能用父函数的局部变量
如果全局的和局部变量重名了------离谁近就用谁
23.
封闭空间
只要能放函数名的地方一定能放函数本身 
执行函数:函数名+();
oBtn.οnclick=show;
即等同于下面
oBtn.οnclick=function()
{
  alert(abc)
};
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
function show()
{
  alert('abc')
}
show();
即等同于下面
(function ( )
{
  alert('abc');
}) ( );

函数:每执行一次就复制一份 
函数写法1:
好处:
a.不用给函数命名,防止重名
b.处理i的问题
(function(){})();
函数写法2:
function show(){
};
24.
获取非行间样式
getComputedStyle
currentStyle 
25
i的问题

//封闭空间---只要能放函数名的地方一定能放函数本身
//方法:用()将函数包裹起来
//函数:每执行一次就会复制一份,内部的局部变量会跟着复制
26
参数 变量 返回值
共同点:什么都可以放,可以是任何东西(包括函数   )
27
switch
清晰,不适合范围判断
switch(值){
    case情况1:
    break;
    case情况2:
    break;
    case情况3:
    break;
    default:
    break;
}
28
三目运算符
条件?成立的值:不成立的值
一目 !       需要一个值
二目 + - * /    需要二个值
三目 ?:      需要三个值
29
定时器
setInterval   每隔xxx,重复执行
实例:时钟、轮播图、动画 

setTimeout    延时,只执行一次
例:广告
oDate的特性:在new的一瞬间确实是更新了一次,
但new完了它内部存储的时间就固定了
setInterval的特性:它的首次执行是在1s之后
解决方法:在定时器开启的同时就让它执行一次
30
异步:
当第一个定时器定时器启动后它立即就往下走
它不会等第一个定时器执行完后才往下走
31
js中规定:
a.使用一个没定义的变量,会报错
b.使用一个没定义的属性,会提示undefined
c.遇到报错就停
32
getComputedStyle能直接用说明它是个全局的东西

33
数组--------------------------->开始
随机数
Math.random----->随机数
function rnd(n,m)
{
    return floor(Math.random()*(m-n)+n);
}
alert(rnd(7,99))
Math.random():
是0-1的随机数;包括0不包括1
34
数组方法-----添加、删除类
push        尾部添加
pop        尾部删除
 
unshift     头部添加
shift      头部删除

splice(起点,个数)--->任意位置添加删除

splice(位置,删除个数,添加什么)
功能:先删除 再 添加
substring(起点,终点) 不包括结束位置
用法:1.str.substring(n,f);[start,...,end-1]
    2.str.substring(n)--->从n截到最后
str.split('分隔符')----->字符串拆分

数组方法-----顺序
倒序----reverse
排序----sort:默认情况下:只适用于
字符串-----arr.sort只会比较字符串
解决方法:替他比较
sort(
function(n1,n2)
     return n1-n2
} );
倒序的第二种方法:
sort(
function(n1,n2)
     return n2-n1
} );
33.
join与split----> 字符串拆分与拼接
str. join ('连接符')----->字符串拼接
join:把数组里的东西连接起来--------拼起来
arr.join(‘-’)用  把数组里的东西连接起来
str.split('分隔符')----->字符串拆分
split把字符串拆成数组--------------拆开
var str=[3###$$$7###$$$9];
var arr=str.split('###$$$');
--------->arr=[3,7,9]
数组--------------------------->结束
字符串--------------------------->结束
34
字符串比较比的是编码
如:'@'<'*'
starts Width--->不兼容
ends Width --->不兼容
substring--->截取
如:‘abcdefg’---> substring(1,3)--->bc
*不包含结束位置

取第n个---str.charAt(index);
给个某个位置获取某个字符
charCodeAt(index)
获取某个位置的字符编码
fromCharCode(65)---->A
alert(string.fromcharcode(65))
编码转字符串
字符集(charset)
中国     gb2312
美国     ASCII 
汉字在计算机里的顺序是按仓颉码的顺序来排的
unicode    统一编码
特点:统一  可扩展
utf-8是 unicode  的一种实现方式
英文 中文 占用的空间不同
1kb=1024b
一个英文   1
一个中文   2|3(gb2312中占2字节  utf-8中占3字节)
indexOf---搜索、查找
用法:str.indexOf('a');
返回的是,第一次出现的位置
没找到------>返回-1
lastIndexOf最后一次出现的位置 
返回的是最后一次出现的位置
文件扩展名都在最后  
35
逻辑运算
&& 与(并且)
必须都为真,结果才是true
|| 或(或者)
只要一个成立就行了,结果就是true
! 取反
!true--->false;

36
字符串操作
str.tolowerCase();
将字符串改成全小写
str.toUpperCase
将字符串改成全大写
37
json---存数据的
json和数组的区别:
数组是以下标序号作为基准存数据且有length
json是 以某个名字作为基准存数据没有length

json的表示方法:{名字:值;……}
擅长表述:数据型东西
json和数组可搭配着用
用 for  in 循环 
38.
return代表过程结束返回出去 
39
Math
Math.min(12,6);---> Math的最小值是6
Math.max(12,6);---> Math的最大值是12
Math.abs(-5);-----> Math 绝对值是5
Math.ceil(3.001);---> Math 值是4,向上取整
Math.floor(4.999);---> Math 值是4,向下取整
Math.round(3.4999);-----> Math 是3,四舍五入
Math.PI;-----> Math 值是圆周率
Math.sqrt(4);-----> Math 值是2---开方
Math.pow(2,3);-----> Math 值是3---2的三次方
40
select
a.获取选中的值
oSel.value
b.获取所有选项
oSel.options
c.获取当前选中序号
oSel.selectedIndex
d.获取选中的文字
oSel.options[oSel.selectedIndex].text
41
html5--->html标准的第五版
js的组成
JS= ECMAScript+ DOM+ BOM 
a.ECMAScript(ECMA/ES)---->js解释器
它的版本由ES决定的  
        ES4.0   工作中用的最多
目前通用的是ES5.0  兼容性最好
        ES6.0   移动的用的多
只提供JS语言的核心功能:定义变量、函数、加减乘除
b.DOM Document Object Model   文档对象模型
    操作页面元素的能力     document
c.BOM Browser  Object Model   浏览器对象模型
    操作浏览器的能力      window
42
节点:
parentNode:父节点
childNode:子节点

firstChild:首子节点         低版本兼容
last Child:尾子节点         低版本兼容
firstElementChild:头一个元素子节点  高版本兼容
兄弟节点:
previousS ibling   上一个子节点     低版本兼容
nextS ibling      下 一个子节点      低版本兼容
previous Element S ibling  上一个子节点   版本兼容
next Element S ibling     下 一个子节点   版本兼容





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值