2020年12月6日 JavaScript知识点整理

 

js中的null用来表示空的对象。
typeof null object
undefined表示未定义。
typeof undefined undefined
===============
强制数据类型转换:只能转换成String Number Boolean

转换成String

用toString方法:
var a = 123;
a.toString();
toString()不改变变量的值,只是返回转换完的值。
null和undefined没有toString方法

或者:
用string函数
a=String(a);
====================
16进制数字:0x123
8进制数字:070
2进制数字:0b
==================
转换成Number:
Number()函数
parseInt()函数可以把“123px”转换为123(还有parseFloat())
parseInt(字符串,几进制)
==============================
转换成boolean:
Boolean()函数
只有:0,NaN,null,undefined,“”(空字符串)。转换成false。其他都转成true。
==================
typeof 就是一个运算符,不是函数
"abc"+"def"两个字符串相加,可以连起来
==============================
任何值和字符串相加,都会转换为字符串再和字符串相加(比如一个number和空串相加转成字符串)
任何值做 -减法 *乘法 、除法 都是自动转换成数字(也可以利用这个特性做类型转换)

=============================
1+2+"3"从左往右算

====

===================================
js基于浏览器,解释性,不需要编译,基于对象,弱类型
=====================================
js引入方式1内联:
<a href="javascript:alert('you clicked')">Click Me</a>
alert就是弹窗(双引号里只能用单引号)
==========================
console可以查看报错
==========================
js引入方式2内嵌:
<script type="text/javascript">
alert("HELLO!");
</script>
=========================
js代码一行结束一定要加分号,除了if和for语句等
============================
script标签可以任意放,可以放body后面,让页面加载完再执行
=============================
js引入方式3外部引入:
<script type="text/javascript" src="script.js">
</script>
==============================
定义变量:显式定义,隐式定义
=========================
定义字符串的时候可以用单引号也可以用双引号。但是内联双引号里必须用单引号,双引号不能嵌套
======================
\n 反斜杠n 是js里的换行 与 c语言一样
=================================

/*显示定义变量*/
var x = 12;
x = 20;
alert(x);
/*先定义不赋值,不赋值也可以使用*/
var a;
alert(a);/*undefined*/

/*多项定义*/
var a1=6,a2="123",a3;

/*隐式定义:不加var,直接使用*/
yinshi = "hello!!";
alert(yinshi);

/*标识符以:字母,数字,下划线,$ 大小写敏感*/

var c1$2fs;

/*数据类型*/

/*数值类型*/

var number1 = 1;/*整数类型*/
var number2 = 3.4;/*浮点类型*/

/*字符串类型,必须使用单引号和双引号括起来*/
var string1 = "abcd";
var string2 = 'dogdog';

/*布尔型*/
var bool1 = true,bool2 = false;

/*未定义类型 已经创建但是没赋值*/

var ud1;

document.write(ud1);/*undefined*/
document.write("<br>");
/*空类型:null*/


var null1=null;

document.write(null1);
document.write("<br>");

/*对象类型 比如数组*/

 

/*数据类型转换*/

/*数值类型转字符串*/

var number1 = 12345;
/*数字加字符串等于字符串*/
number1 = number1+"6789";

console.log(typeof number1);/*string*/
console.log("number1 = "+number1);/*number1 = 123456789*/

/*数字类型的toString方法*/

var number2 = 12345;
var string1 = number2.toString();

console.log(string1);

/*字符串转整数类型*/

var number3 = parseInt("123px");

console.log(number3);/*123*/

var number4 = parseInt("px");

console.log(number4);/*NaN*/

/*字符串转浮点型*/

var number5 = parseFloat("123.456cm");

console.log(number5);/*123.456*/

/*用户输入的都是字符串,获取到了以后转换*/

 

var s1 = "abcdEfg.hiJk";

console.log(s1);//abcdefg

//charAt方法返回第几个字符
console.log(s1.charAt(0));//a

console.log(s1.charAt(3));//d

//把所有字符串里所有字母转换成大写,并返回新字符串
console.log(s1.toUpperCase());//ABCDEFG.HIJK

//返回参数(可以是字符串)在字符串中第一次出现的位置
//加第二个参数可以控制从哪一位开始找
//若找不到返回-1
console.log(s1.indexOf('cd'));//2
console.log(s1.indexOf('cde'));//-1
console.log(s1.indexOf('c',6));
//返回:参数在字符串中最后一次出现的位置
//若找不到返回-1
console.log(s1.lastIndexOf('J'));//10

//返回从第几位到第几位的子字符串。

console.log(s1.substring(2,5));//cdE

//返回从第几位到第几位的子字符串,不是从0开始,切几个写几,但是可以写负数,就像切割一样

console.log(s1.slice(3,-4));//dEfg
console.log(s1.slice(-3,-1));//iJ


//将一部分内容换成另一部分,返回改变后的新字符串
s1 = s1.replace('abcd','zzz');
console.log(s1);//zzzEfg.hiJk

 

正则表达式实例:

 

//匹配所有
var r =/./;

var f1 = r.test("ABC123");

console.log(f1);

//满足规则输出true

 

//匹配0-9

var r1=/\d/;

var f2=r1.test("abc123");

console.log(f2);

//字符串包含了数字所以输出为true

//小写和大写一般都是相反如:\d \D


var r2=/\W/;

var f3=r2.test("abc");

console.log(f3);

//[abc]中括号里的内容


var r3=/[a-zA-Z]/;
var r3=/^[0-9]/;//^是亦或

var f4 = r3.test("123");

console.log(f4);

//规则:6位的数字
var pwd="5553137";
var r4=/^[0-9]{6}$/;
var f5=r4.test(pwd);
console.log(f5);


//手机号 11位 第一位必须是1 第二位是:35789中的一位

var pm = "13745323455";
var r5 = /^[1][35789][0-9]{9}$/;

console.log(r5.test(pm));

//邮箱 xxxx@xxx.com 用\进行转义


var email = "green@blue123.com";
var r6 = /^[\w]+[@][A-z0-9]+\.[A-z]+$/;

console.log(r6.test(email));


//不区分大小写

var f8=r7.test("JAva");
var r7=/java/i;

console.log(f8);

posted @ 2020-12-06 21:00  lucascube  阅读(85)  评论(0)    收藏  举报