Java Script
Posted xuexihainan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java Script相关的知识,希望对你有一定的参考价值。
‘‘‘
Script 核心
语法
引入放在head里
如果要在一个html里写 建议把<script src="JS.js"></script> 放在body的最下面
var定义变量
var a = 1; 加上分号
测试 alert(a) 相当于print
console.log(a)
document.write(s); 是在页面显示
建议用 iMyTextValue = 0; sMyTextValue = ‘h1‘
i是int s是str
{
包裹自己代码并加上缩进
}
注释
// 注释单行 建议
/* */ 多行注释
常量和标识符
关键字 不能当变量
break {delete for new实例对象 throw抛出异常 vold}
case {do function null true while}
catch {else if return try with}
continue {false in switch typeof }
default {finally instanceof this var}
function = def
函数调用:
function sayhello(){ 函数
var hellostr = ‘您好‘是常量
document.write(s); 是在页面显示
}
sayhello(); 调用
类型
基本数据类型(五种)
数字类型(number)
Number 包括整型和浮点型 开发用16进制是最好的 转换不成功就是NaN
String 字符串 统一是Unicode /n换行符
Boolean 布尔值 TRUE FALSE
null var obj = null 占个对象位置 以后需要用的时候 在赋值 且必须是对象
Undefined:Undefined 声明了某个变量,但未对他赋值 就是Undefined类型
数据类型的转换
数字和字符串拼接 会吧数字类型转换为字符串
布尔值和数字拼接 1+true=2 1+false=1 true=1 false=0
字符串和布尔值 显示hellotrue
函数parseint 强制转换成整数 (‘3.14a‘)=3 (‘a3.14‘)=NaN 当字符串转换成数字失败时就是NaN数据,属于Number类型
NaN==0 NaN>0 NaN<0 NaN==NaN 全部是false NaN数据出现在表达式中一定结果为false 除了!= NaN就是true
函数parseflcat 强制转换成浮点数
函数eval 将字符串强制转换成表达式并返回结果 eval(‘1‘+ 1)=2 eval(‘1<2‘)=true
typeof typeof(i) 查询数据类型
语句
if else:
if(表达式){
}else if(表达式){
}else{
}
switch:
switch(表达式){
case 1:y=‘星期一‘;break; 例子
case 值:语句2;break;
case 值:语句3;break;
default:y=‘自定义‘;break; 前面没有对应上 就直接default
}
for循环:
这个是迭代器 遍历
a = [1,‘hello‘,true]
for (var i in a){
console.log(i) 这里的i是索引
console.log(a[i]) 这里是拿值
}
js for循环的格式
for(初始化;条件;增量){
语句;
.....
}
for (var i=1;i<10;++i也可以是i=i+1){
console.log(i)
}
obj = {"1":"111","2":[1,2]}:
这是个数据对象object
打印是[object Object]前后端交互数据 拿到的数据就是这个
for(var i in obj){
console.log(i)拿到的是键
console.log(obj[i]) 拿到是值
}
json 里必须要用双引号""
for (var i=1;i<7;++i) {
document.write(‘<H‘ + i + ‘>hello</H ‘+i+‘>‘);
}以上就是拼接的方法 写出了h1-h6标签
while 循环:
while(条件){
}
异常处理:
try{
这段代码从上往下运行,其中任何一个语句抛出异常改代码块就结束运行
}
catch(e){
如果try代码块抛出了异常,catch代码块中的代码就会被执行
e是一个局部变量,用来指向Error对象或者其他跑出的对象
}
finally{
无论try中带吗是否异常抛出(甚至try代码块中有return语句),finally代码块始终会被执行。
}
主动抛出异常 throw Error(’xxxx‘)
关键字
保留字
运算符
自加自减
var a = 1
var b = a++ 先赋值在运算 a=2 b=1 a++先把值赋给b 在运算的a
b = ++a 先运算在赋值 a=2 b=2 ++a先运算a+1 在把a+1的值赋给b
x++ =1 先赋值
++x =3 先运算 这时x=2在+1
--x =2
x-- =2
一元加减法
var a = ‘3‘
b = +a + -号可以把字符串转成number
错误的:
var a = ‘a3a‘
b = +a 等于NaN
*逻辑运算符
&& 与 1 && 0 --> false 0 && 0 ----->false 1 && 1 ----> true python and
|| 或 1 || 0 --> true 0 || 0 ---> false python or
! 非 python not
左边是对象,右边是布尔值 返回对象
左边是对象,右边是对象 返回 右边的对象
某个数是null 返回null 空对象
某个数是NaN 返回NaN
某个数是undefined 返回undefined
位运算
3<<2
00000011 --> 11往前移2位
赋值运算符
=== 全等于 不做任何转换 等于就等于 不等于就不等于
*等性运算符
*null == undefined true
NaN == NaN false
关系运算符
比较运算符两侧如果一个是数字类型 一个是其他类型 会将其类型转换成数字类型
比较运算符两侧如果都是字符串类型 比较的是最高位asc码 如果高位相等 继续取第二位比较
布尔运算符
有值位true 空为false 后面类型都是false 空[] 0 null undefined
对象(封装 继承 多态)
ECMAScript
规范对象 定义的一些对象
native object
自己对应的对象
host object
非我自己定义的对象
****function
var去掉 b=3 就是个全局变量
尽量使用var b=3 局部变量
面试题:
function a(a,b){ a+b}
var a = 1
var b = 2
a(a,b)
会报错 应为对象a 在下面有个赋值a 上面的对象被覆盖
之所以报错 就是因为对象a是变量 赋值a也是变量
函数的起名也是个变量 指向函数运行的内存地址
赋值a 也是个变量 并指向了 = 1 所以会报错 因为没有a()方法
****arguments对象:累加 相当于py里的**args 判断语句
var ret=0
function add(){
console.log(arguments.length) 元素个数
console.log(arguments) 元素索引 Arguments[0:1,1:2,2:3,3:4]
for(var i in arguments){
ret += arguments[i] 累加
}
return ret
}
add(1,2,3,4,5)
匿名函数,自执行函数 (语法糖)
func3 = function()[alert(123)] 匿名函数
(function(arg){console.log(arg)})(‘123‘) 自执行函数 这个有用
alert(s2 instanceof string) 查看是什么对象
****string对象:
创建方式一:
var s=‘hello‘;
方式二:
var s2 = new string(‘hello‘);
String对象的属性 length
alert(s.length);
遍历字符串:
for(var i in s) {console.log(s[i])}
格式编排方法: 一般不用
document.write(s.italics()); 意大利字体
document.write(s.bold()); 加粗
document.write(s.anchor("alex")); A标签 锚 name=alex
大小写转换:
console.log(s.toUppercase);
console.log(s.toLowercase);
获取指定字符:
console.log(s.charAt(3)); 3是索引 取字符
console.log(s.charcodeAt(3)); 找到索引字符asc编码
****查询字符串:
console.log(s.search(‘l‘)); 索引位置 2
console.log(s.match(‘l‘)); 返回数组 里面是所有匹配结果
console.log(s.match(‘l‘)[0]); 返回数组 里面是所有匹配结果
console.log(s.replace("E","e"));hEool--> heool
console.log(s.split("E")); [h,llo]
console.log(s.concat(" world")); 字符串拼接 hEllo world
join 是把一个列表拼接成一个字符串。 [a,b,c] join abc
console.log(s.indexOf("l")) 从左往后找 通过字符串取索引
console.log(s.lastOf("L")) 从右往左找 通过字符串取索引
*****截取字符串:
console.log(s.substr(1,2)); 从1开始 取了2个 按个数取
console.log(s.substring(1,3));从1开始 取到第3个位置 按索引取
console.log(s.slice(1,3); 跟上面一样 但是这个方法可以 倒着取 左取右不取