JS
JS的数据类型
string/number/boolean/null/undefined 值类型
objict/array/function 引用类型
对象
使用一种抽象的概念去描述,人{属性,方法}
var car={type:“BYD”,model:500,color:white,do:function(){可以跑}}
针对对象属性的使用
name=car.type;
color=car["color"]
针对对象方法的使用
deal=car.do()
无参函数
function fun()
{语句体;
}
有参函数
的function fun(a,b)
{
函数体; //体现对a,b处理
}
有返回值函数
function fun(){
return 返回结果
}
变量:(根据变量的作用范围来分)
局部变量:在函数内部申明的变量,只能在函数内部去使用
全局变量:函数外部申明的变量,网页上所有的脚本和函数都可去使用它
字符串的处理:
字符串需要使用‘ ’或者“ ”括起来,可以使用下标的方式去访问字符串中每个字符:
字符串中特殊字符如果需要打印出来,需要使用转义字符\,转义就是然后字符保持其原有的含义,而不被当做特殊字符
使用string.length获取字符串的长度,转义不计算长度
特殊字符: ‘ “ \ \r \b \f
字符串可以被当做对象, var s=new string(’test‘); s=’test‘;
属性: length prototype(允许向对象添加属性和方法)
方法:cgarAt()返回指定位置的字符
indexOf()返回指定字符的索引
从0开始
sploit()将字符串分割为数组
subste()截图字符串
机器人图片--robots.txt(robots协议:防止网络搜索引擎去爬取站点中敏感的页面,子站点的根目录下放一个robots.txt文件,里面写清楚哪些页面是不允许爬取的)--访问就能看到登录页面--突破方式 ;弱口令,万能密码,逻辑越权,爆破--flag{}
函数的定义和使用
number类型:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<script>
var x;
document.write("<p>仅显示17位: ");
x=12345678901234567890;
document.write(x + "</p>");
document.write("<p>0.2 + 0.1 = ");
x=0.2+0.1;
document.write(x + "</p>");
document.write("<p>可以通过乘以10或除以10来计算: ");
x=(0.2*10+0.1*10)/10;
document.write(x +"</p>");
</script>
</body>
</html>
Number.parseFloat() 把字符串参数解析成浮点数,左右等效于一元运算法+
Number.parseInt() 把字符串解析成特定基数对应的整型数字
Number.isFinite() 判断传递的值是否为有限数字
Number.isInteger() 判断传递的值是否为整数
Number.isNaN() 判断传递的值是否为 NaN
Number.isSafeInteger() 判断传递的值是否为安全整数
toExponential() 返回一个数字的指数形式的字符串
toFixed() 返回指定小数位数的表示形式
toPrecision() 返回一个指定精度的数字
Math.abs(x) 返回x的绝对值
Math.sign(x) 返回x的符号函数, 判定x是正数,负数还是0
Math.random() 返回0到1之间的伪随机数
Math.floor(x) 返回x向上取整后的值
Math.ceil(x) 返回x向上取整后的值
Math.round(x) 返回四舍五入后的整数.
Math.fround(x) 返回数字的最接近的单精度浮点型表示
Math.trunc(x) 返回x的整数部分,去除小数
Math.sqrt(x) 返回x的平方根
Math.cbrt(x) 返回x的立方根
Math.hypot([x[,y[,…]]]) 返回其参数平方和的平方根
Math.pow(x,y) 返回x的y次幂
min(), max() 返回一个以逗号间隔的数字参数列表中的较小或较大值(分别地)
sin(), cos(), tan() 标准三角函数;参数为弧度
asin(), acos(), atan(), atan2() 反三角函数; 返回值为弧度
sinh(), cosh(), tanh() 双曲三角函数; 返回值为弧度.
asinh(), acosh(), atanh() 反双曲三角函数;返回值为弧度.
pow(), exp(), expm1(), log10(), log1p(), log2() 指数与对数函数
string类型:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<script>
var str = "昼猫笔记";
document.write(str.indexOf("笔记"));
var str = "hello word";
document.write(str.indexOf("l"));
</script>
</body>
</html>
String对象方法:
indexof()
该方法可返回某个指定的字符串值在字符串中首次出现的位置。并返回第一次出现的位置。
注意:indexof()区分大小写
如果要检索的字符串值没有出现,则该方法返回 -1
见上方代码
lastIndexOf()
该方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。
注意:indexof()区分大小写
如果要检索的字符串值没有出现,则该方法返回 -1
var str = "昼猫笔记";
document.write(str.lastIndexOf("哈哈")); //-1
var str = "hello word";
document.write(str.lastIndexOf("l")); //3
concat()
该方法用于连接两个或多个字符串。
var str = "昼猫笔记";
var str2 = "hello word";
document.write(str.concat(str2)); //昼猫笔记hello word
slice()
该方法可提取字符串的某个部分,并以新的字符串返回被提取的部分
var str = "hello word";
document.write(str.slice(0, 2)); //he (从索引0开始到2结束不包括2)
toLowerCase()
把字符串转为小写
var str = "Hello Word";
document.write(str.toLowerCase()); //hello word
toUpperCase()
把字符串转为大写
var str = "Hello Word";
document.write(str.toLowerCase()); //HELLO WORD
boolean类型:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<script>
var bool = false;
document.write(typeof bool);
document.write(bool);
</script>
</body>
</html>
constructor 返回对创建此对象的 Boolean 函数的引用
prototype 使您有能力向对象添加属性和方法。
Boolean 对象方法
toSource() 返回该对象的源代码。
toString() 把逻辑值转换为字符串,并返回结果。
valueOf() 返回 Boolean 对象的原始值。
null类型:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<script>
var exp = null;
if (exp === null){
alert("is null");
}
</script>
</body>
</html>
Null类型是第二个只有一个值的数据类型,这个特殊的值是null,从逻辑角度来看,null值表示一个空对象指针
undefined类型:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<script>
var message;
alert(message == undefined); //true
</script>
</body>
</html>
Undefined类型只有一个值,即特殊的undefined值。在使用var声明变量但未对其加以初始化时,这个变量的值就是undefined。
array类型:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<script>
var colors =["red", "blue"]
alert(colors[0])//red
alert(colors[1])//blue
//[0] 是数组的第一个元素。[1] 是数组的第二个元素,所以上面会分别输出red和blue
</script>
</body>
</html>
constructor 返回对创建此对象的数组函数的引用。
length 设置或返回数组中元素的数目。
prototype 使您有能力向对象添加属性和方法。
concat() 连接两个或更多的数组,并返回结果。
join() 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
pop() 删除并返回数组的最后一个元素
push() 向数组的末尾添加一个或更多元素,并返回新的长度。
reverse() 颠倒数组中元素的顺序。
shift() 删除并返回数组的第一个元素
slice() 从某个已有的数组返回选定的元素
sort() 对数组的元素进行排序
splice() 删除元素,并向数组添加新元素。
toSource() 返回该对象的源代码。
toString() 把数组转换为字符串,并返回结果。
toLocaleString() 把数组转换为本地数组,并返回结果。
unshift() 向数组的开头添加一个或更多元素,并返回新的长度。
valueOf() 返回数组对象的原始值
object类型:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<script>
var person=
{
firstname : "John",
lastname : "Doe",
id : 5566
};
document.write(person.lastname + "<br>");
document.write(person["lastname"] + "<br>");
</script>
</body>
</html>
constructor 保存着用于创建当前对象的函数。
hasOwnProperty(propertyName) 用于检查给定的属性在当前的对象实例中是否存在。
isPrototypeOf(object) 用于检查传入的对象是否是传入对象的原型。
propertyIsEnumerable(propertyName) 用于检查给定的属性是否能够通过for-in语句进行枚举。
toLocaleString() 返回对象的字符串表示,该字符串与执行环境的地区对应。
toString() 返回对象的字符串表示。
valueOf() 返回对象的字符串、数值或者布尔值表示。通常与toString()方法的返回值相同。