JavaScript学习

JS学习记录

这部分没有学很深,个人倾向于后端(

ECMAScript:客户端脚本语言的标准
1.基本语法:
1.与Html的结合方式:(在)
2.注释
和Java一样
3.数据类型
1.原始数据类型(基本数据类型)和引用数据类型
原始:1.number:数字;整数/小数/NaN(not a number不是数字的数字类型,这个东西会在本应该得到数字但最终不是数字的地方生成,使用0/0等不合法运算也会得到NaN))
2.string:字符串;字符串(JS里面没有字符这个概念,引号用单双引都行),和任何类型加上之后会同化
3.boolean:true和false
4.null:对象为空
4*.object:对象是引用类型或者null,(typeof(null)得到的是object,这是个沿用的BUG)
5.undefined:未定义;如果一个变量没给初始化值,则会被初始为undefined
引用:对象
(使用typeof(变量)可以得到这个变量的数据类型)
4.变量
java是强类型的语言,js是弱类型的语言,申请了变量储存空间,不定义空间将来的储存数据类型,可以存放任意的数据类型
语法:
var 变量名=初始化值;
5.运算符
不同的地方在于:
(1).一元运算符:+()代表正,-()代表负
这个很重要,在JS中,将一个非数字类型转换为数字类型number,如果这个非数字类型不能正常转换为数字类型,则会转换成为NaN。
1.比如转换string到number:+“241” 可转换成为 241,但是 +“abc"会转换成为NaN。
2.转换boolean到number:true和false分别转换成1和0;
(2).比较运算符(重点):
字符串可以比较大小,按照字典顺序逐一比较,直到判断出一位的不同;
需要注意的是,NaN 不会和任何一个值相等,包括NaN本身。运行结果都为false。
true>false,这是因为进行转换时是使用的+();
== 进行比较时,两边会先进行数据转换,后比较大小
=== 是特殊的比较运算符,叫做全等于,对两边先判断数据类型,如果不相等返回false,相等后按==判断
(3).算术运算符:/ 除号作用于number之间的话,是可以进行精度计算的,因为number可以代表整数
(4).逻辑运算符:&&和||都和Java一样,也会短路
!运算符会使得后边的数据转换为boolean类型,并且取反;
其他数据类型转换成boolean:
1.number:0和NaN为false,非零为true
2.string:空字符串”"为false,其他为true
3.null和undefined都是false
4.所有对象都是true
(5).三元运算符: ? : 和Java一样;
(6).流程控制语句:
1.switch可以接受各种基本数据类型
2.for使用时记得用var i=0;
(7).特殊语法:
语句如果只有一行,则可以不加‘;’
var定义的变量是局部变量,不加的话也可以定义变量,但那定义的是全局变量
(JS好像可以重定义,但是如果要取值放入语句的话,会选取最后一次赋予的值)

2.基本对象
1.创建的方法是对象,方法名当成对象用
Function : 函数(方法)对象
1.创建:
1.var fun= new Function(形参列表,方法体)//不用
2.function 方法名称(形式参数列表) {
方法体
}
3.var 方法名= function(形式参数列表) {
方法体
}
2.方法:
3.属性:
length:代表形参的个数:var fun1=function(a,b){alert(a+b);}; 这时候使用document.write(fun1.length);得到的是2
4.特点:
1.方法定义是,形参的类型不用写,近回值类型也不写。
2.方法是一个对象,如果定义名称相同的方法,会覆盖
3.在JS中,方法的调用只与方法的名称有关,和参数列表无关
4.在方法声明中有一个隐藏的内置对象(数组),arguments,封装所有的实际参数
(这个东西应该是很长,并且其中的每个空间都已经声明好了,直接打印出类不存在的值会显示undefined,
这个数组只能在函数体中使用,从0到∞依次记录每一个参数列表里的参数)
5.调用:
方法名称(实际参数列表);
2.数组
Arrays:数组
1.创建:
1.var arr=new Array(1,2,3,4,“341”,null,true);(多个元素使得依次添加)
2.var arr=new Array(6);
3.var arr=[1,2,6,3,0];
4.var arr=new Array();
2.方法:join()传入一个分隔符(字符串型)将这个数组转换成字符串返回
push(),传入一个数据,加到array的末尾;
pop(),将末尾的字符从array中删除,并返回
3.属性:length:返回这个数组的长度;
3.日期.
Date:时间值
1.创建:
var date=new Date();
2.方法:tolocaleString(),直接打印DATE返回的是当前的时间戳(按美国时间格式为准),但是使用这个方法返回的就是本地时间格式
getTime();返回毫秒值
4.数学
Math:数学运算
1.创建:不用创建,当作静态类一样用就行
2.方法:1.取PI值:3.1415926535…
2.random() 产生一个0-1之间的随机数,(长位小数)这个生成是指的[0,1)
3.abs()返回绝对值
4.ceil()对数进行向上取整
5.floor()对数进行向下取整
6.round()四舍五入
5.Numeber
6.String(这两个都是包装类对象)
7.RegExp:正则表达式:定义字符串的组成规则。

正则表达式(深入可以去看”编程胶囊“ 我觉得这个做的不错)
1.单个字符:[]
如: [a] [ab]a或者b [a-z]a-z中的一个字母 [a-zA-Z0-9_]全部的字符
特殊符号代表的字符:
\d 单个数字字符 [0-9]
\w 单个单词字符 [a-zA-Z0-9_]
2.量词符号:
?:出现0次或者1次
*:出现0次或者多次
+:出现1次或者多次
{m,n}表示出现最少m最多n次(可缺省)
3. 开始结束符号
* ^:开始
* $:结束:
正则对象:
1.创建
1. var reg = new RegExp(“正则表达式”);
2. var reg = /正则表达式/;
2.方法
1. test(参数):验证指定的字符串是否符合正则定义的规范
8.Global
1. 特点:全局对象,这个Global中封装的方法不需要对象就可以直接调用。 方法名();(没有这个对象的事)
2. 方法:
encodeURI():url编码
decodeURI():url解码
encodeURIComponent():url编码,编码的字符更多
decodeURIComponent():url解码
parseInt():将字符串转为数字
* 逐一判断每一个字符是否是数字,直到不是数字为止,将前边数字部分转为number
isNaN():判断一个值是否是NaN
* NaN六亲不认,连自己都不认。NaN参与的==比较全部问false
eval():讲 JavaScript 字符串,并把它作为脚本代码来执行。
3. URL编码
后端工程师 = %E5%90%8E%E7%AB%AF%E5%B7%A5%E7%A8%8B%E5%B8%88
BOM
一.1.概念:把浏览器的各个部分封装成对象
2.组成:*Window:窗口对象
方法:
1.alert();
2.confirm("");确定取消两个按钮,分别返回true和false
3.prompt("");输入框,返回输入的东西,没输入就返回null,可以加上提示
4.open(“weblocation”):打开网页,可加在onclick事件后边,返回新网页的windows对象
5.close()(window.close()):关闭当前网页,因为是用该网页的对象调用的,所以把对象更改会关闭其他网页。
(加到button的onclick中使用)
6.setTimeout():设置一次性定时器对象setTimeout(“JS语句”,毫秒值);等待固定时间后执行一个语句
7.setInterval():设置循环定时器对象setInterval(“JS语句”,毫秒值);每过固定毫秒数执行一次这个语句(方法可传入方法名作为对象,或者传入“func();”也行)
属性:
BOM属性(获取其他BOM对象):
Navigator :object Navigator
Screen:object Screen
History: object History
Location: 当前地址
DOM属性(主要):
Document:(对Document文档对象的只读引用)[object HTMLInputElement]
*Navigator:浏览器对象
*Screen:显示器窗口对象
*History:历史记录对象
方法:
forward():前进到下一个页面(曾经到过前面的页面)
back():后退(同上)
go():传入一个数,0代表当前页面,依次递增,跳转到指定的页面
属性:
length:记录当前页面上的历史记录数,不是浏览器的历史记录数,而是当前页面的(这个页面做过多少次新的跳转就显示几次)
*Location:地址栏对象
方法:
1.reload():刷新
属性:
1.href:当前页面的URL(改变它可以更改当前页面)

DOM
一.基础部分:1.获取页面的元素element:给标签拟定id后,调用document.getElementById(“ID值”);
使用一个变量接收,该元素就是element对象
2.明确获取的对象是哪一个,然后根据里面的属性值进行更改;
(如果要修改标签体内容,要修改属性:innerHTML)
修改属性时直接在这个元素对象后边.这个属性就行。然后后边就=""
3.onclick属性是用来设置点击后效果的,这里面可以加入JS语句,点击时执行
也可以在

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值