JS学习记录

一 语言基础

1.使用

(1)标签
< script>document.write(“这是 javascript”);< /script>
(2)执行顺序
从上而下
(3)使用外部js文件
< script src="">< /script>

2.变量

(1)使用var声明一个变量
var x = 10;
(2)不适用var
关键字var可有可无,x = 10;
(3)命名规则
开头可以是_,$ 或者字母,其他部分可以是_,$, 字母或者数字

3.调试

(1)alert调试
(2)console.log()
(3)专业的调试工具和frrefox

4.基本数据类型

undefined 声明但未赋值
Boolean 布尔值
Number 数字 10十进制 012八进制 0xA 十六进制 3.14浮点数 3.14e2 科学计数法
String 字符串
var 动态类型
typeof 变量类型判断
null 空对象

5.类型转换

(1)伪对象
伪对象概念:javascript是一门很有意思的语言,即便是基本类型,也是伪对象,所以他们都有属性和方法。
变量a的类型是字符串,通过调用其为伪对象的属性length获取其长度
(2)转换为字符串
无论是Number,Boolean还是String都有一个toString方法,用于转换为字符串
数字转字符串toString() 默认十进制显示 toString(2) 二进制显示 toString(8) 八进制显示
toString(16) 十六进制显示
(3)转换为数字
javascript分别提供内置函数 parseInt()和parseFloat(),转换为数字,如果被转换的字符串,同时由数字和字符构成,那么parseInt会一直定位数字,直到出现非字符。 所以"10abc" 会被转换为 10
(4)转换为boolean
使用内置函数Boolean() 转换为Boolean值
当转换字符串时:非空即为true,当转换数字时:非0即为true,当转换对象时:非null即为true
(5)Number()和parseInt()的区别
Number()和parseInt()一样,都可以用来进行数字的转换
区别在于,当转换的内容包含非数字的时候,Number() 会返回NaN(Not a Number)
parseInt() 要看情况,如果以数字开头,就会返回开头的合法数字部分,如果以非数字开头,则返回NaN
(6)sting和tostring()的区别
String()和toString()一样都会返回字符串,区别在于对null的处理
String()会返回字符串"null"
toString() 就会报错,无法执行

6.函数

(1)定义函数
function关键字用于定义一个函数
print即函数的名称
()表示参数列表,像这样就指没有参数,
{ 表示函数开始
return xxxx;返回值
} 表示函数结束

7.全局与局部函数

函数内声明,局部,函数外声明全局

8.事件

9.运算符

加减乘除求余+ -* % /
自加自减 ++ –
赋值运算符 = += -= *= /= %=

10.逻辑运算符

== != > >= < <=基本逻辑运算符
(判断类型)绝对等于=== 绝对不等!== 三目运算符 ?

11.条件语句

if
else
else if
switch

12.循环语句

for 循环
while
do while
forEach
continue
break

13.错误机制

try catch

二 对象

1.数字

(1)创建一个数字对象 new Number(xxxx);
(2)MIN_VALUE 最小值 MAX_VALUE 最大值
(3)NaN表示不是一个数字
(4)toFixed返回一个数字的小数表达式 toFixed(X)保留X位小数
(5)返回一个科学计数toExponential
(6)valueof()返回一个基本类型的数字

2.字符串

(1)创建字符串new String()
(2)length字符串长度
(3)charAt 返回指定位置的字符;charCodeAt 返回指定位置的字符对应的Unicode码
(4)concat用于进行字符串拼接
(5)子字符串出现的位置indexOf 返回子字符串第一次出现的位置
lastIndexOf 返回子字符串最后一次出现的位置
(6)localeCompare 比较两段字符串是否相同,0即表示相同,非0表示不同
(7)substring 截取一段子字符串
(8)替换子字符串replace(search,replacement)

3.数组

(1)创建数组对象new Array()
(2)属性length 获取一个数组的长度
(3)遍历一个数组
遍历有两种方式
1.结合for循环,通过下标遍历
2.使用增强for in循环遍历
需要注意的是,在增强for in中,i是下标的意思。
(4)连接数组 方法 concat 连接两个数组
(5)方法 join 通过指定分隔符,返回一个数组的字符串表达
(6)方法 push pop,分别在最后的位置插入数据和获取数据(获取后删除)
就像先入后出的栈一样
(7)方法 unshift shift ,分别在最开始的位置插入数据和获取数据(获取后删除)
(8)方法 sort对数组的内容进行排序
(9)自定义排序算法
sort()默认采用正排序,即小的数排在前面。 如果需要采用自定义排序的算法,就把比较器函数作为参数传递给sort()。
比较器函数:
function comparator(v1,v2){
return v2-v1; //v2-v1表示大的放前面,小的放后面
}
调用sort函数的时候,把这个比较器函数comparator作为参数传递进去即可
x.sort(comparator);
(10)方法 reverse,对数组的内容进行反转
(11)方法 slice(x,y) 获取子数组 x表示起点,y表示终点取不到
注意: 第二个参数取不到
(12)x.splice (3,2) 表示从位置3开始 ,删除2个元素,
x.splice(3,0,1,5) 从位置3开始,删除0个元素,但是插入1和5

4.日期

new Date 创建日期对象 示例代码
getFullYear
getMonth
getDate 年/月/日 示例代码
getHours
getMinutes
getSeconds
getMilliseconds 时:分:秒:毫秒
getDay 一周的第几天
getTime 经历的毫秒数
修改日期和时间
setFullYear
setMonth
setDate
setHours
setMinutes
setSeconds

5.Math

属性E PI 自然对数和圆周率 示例代码
方法 abs 绝对值 示例代码
方法 min max 最小最大 示例代码
方法 pow 求幂 示例代码
方法 round 四舍五入 示例代码
方法 random 随机数

6.自定义对象

function Hero(name){
this.name = name;
this.kill = function(){
document.write(this.name + “正在杀敌
”);
}
}

var gareen = new Hero(“盖伦”);

三 对象

1.Window

(1)获取文档的宽度与高度window.innerWidth window.innerHeight
(2)获取外部的窗体高度与宽度window.outerWidth window.outerHeight
(3)打开一个新窗口 就是通过window的open方法做到的

2.Navigator

navigator.appName 浏览器名称
navigator.appVersion 浏览器版本号
navigator.appCodeName 内部代码
navigator.platform 操作系统
navigator.cookieEnabled 是否启用Coolies
navigator.userAgent 用户代理报头

3.Screen

Screen.width宽度
Screen.height 高度
Screen.availwidth 可用区域宽度
Screen.availheight 可用区域高度

4.History

history.back();返回
history.go(-2); //-1表示上次,-2表示上上次,以次类推

5.Location

location.reload()刷新
location.assign()跳转
p(“协议 location.protocol:”+location.protocol);
p(“主机名 location.hostname:”+location.hostname);
p(“端口号 (默认是80,没有即表示80端口)location.port:”+location.port);
p("主机加端口号 location.host: "+location.host);
p("访问的路径 location.pathname: "+location.pathname);
p("锚点 location.hash: "+location.hash);
p("参数列表 location.search: "+location.search);

6.弹出框

alert 警告框 示例代码
confirm 确认框 示例代码
prompt 输入框

7.计时器

只执行一次
function printTime(){
var d = new Date();
var h= d.getHours();
var m= d.getMinutes();
var s= d.getSeconds();
document.getElementById(“time”).innerHTML= h+":"+m+":"+s;

}

function showTimeIn3Seconds(){
setTimeout(printTime,3000);
}
不停执行

function printTime(){
var d = new Date();
var h= d.getHours();
var m= d.getMinutes();
var s= d.getSeconds();
document.getElementById(“time”).innerHTML= h+":"+m+":"+s;

}

var t = setInterval(printTime,1000);
终止重复
var t = setInterval(printTime,1000);

function printTime(){
var d = new Date();
var h= d.getHours();
var m= d.getMinutes();
var s= d.getSeconds();
document.getElementById(“time”).innerHTML= h+":"+m+":"+s;
if(s%5==0)
clearInterval(t);
}
不要在setInterval调用的函数中使用document.write();

四 js调用html

document是javascript的内置对象,代表浏览器的文档部分
document.write(“Hello Javascript”); 向文档写入字符串
"…" 表示点击button之后做的事情
document.getElementById 根据id获取指定的元素
.style.display=‘none’ 隐藏
.style.display=‘block’ 显示(准确的讲,以block的形式显示)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值