js的输出方式:
1、alert();浏览器弹出警告弹框,它会阻塞代码执行;
alert弹框,它显示的内容会默认转换成字符串显示;
例如:alert(123);
2、prompt();弹出一个可输入的弹框,还有两个按钮确认和取消;点击确定,返回在输入框输入的内容,点击取消返回空;
var str = prompt();
console.log(str);
3、confirm();确认弹框,有两个按钮,确认和取消,点击确认返回为true,点击取消为flase,相较于alert多了一个取消按钮,执行完有返回结果
var c=confirm("珠峰培训");
onsole.log(c);
4、console.log();在控制台打印输出;会附带文件信息和行号;可以打印多个数据,信息之间用逗号隔开,
5、在文档中写入内容,这个方法可以识别标签;
在文档加载过程中,是向文档追加内容,文档加载完成时,在执行它,document.wirte();会将原来文档中的所有内容覆盖;
doument.write("珠峰培训");
document.write("
珠峰培训
");innerHTML和innerText testContent
innerHTML用字符串将原来元素中的内容替换掉;这是一个覆盖性操作;
innerHTML可以识别标签
innerHTML获取的内容包含标签,innerText和textContent获取的内容不包含标签
innerHTML/textContent获取的内容不会去除两端的空格,innerText获取的内容会去除两端的空格
var oBox=document.getElementById("box");
oBox.innerHTML="珠峰培训";
innerText作用同上,只是它不可以识别标签;
oBox.innerText="
珠峰培训
";变量
Uncaught ReferenceError: a is not defined 没有定义
变量:在js中用一串字符,来保存具有的数据,为了重复使用;这串字符串就是变量,变量实际代表的就是它保存的值;
用var定义变量;
var 变量名=值; 格式 es5版本
let 变量名=值; es6版本
const 常量名=值;
=:赋值号:把右面的值负值给左面的变量;赋值号是从右往左运算;
js的数据类型
分为两种数据类型:
1、基本数据类型
2、引用数据类型
1、基本数据类型:5种
number数字类型
string 字符串类型
boolean布尔型
null空值
undefined 未定义
2、引用数据类型
对象类型:普通对象(Object)、数组(Array)、时间对象(Date)、数学对象(Math)、正则(RegExp)...
函数function
引用数据类型和基本类型的区别:
1、基本数据类型保存在栈内存中,引用数据类型,保存在堆内存中;
2、基本数据类型保存的信息少一点,引用数据类型保存的信息多一点;
浏览器在打开一个页面,分配的两个虚拟的内存;
栈内存:保存基本数据类型的值,执行js代码;
堆内存:保存引用数据类型的值;
数据类型
var num= 1;
var num1=2;
ar num2=num+num1;
console.log(num2);
number:数据类型;包含数学,正数、负数、0、NaN;可以进行数学运算
NaN:不是一个数字,not a number;
Number();将其他数据类型,转换成数据类型;转换的过程中,如果是有效数字,得到的是一个数字;
Number("");转换成数字是0;
Number(null);;转换成数字是0;
Number(undefined);NaN
Number("abc");转换成数字NaN;
Number(true);返回1 flase返回0;
Number({a:1});返回NaN;空对象得到的也是NaN;
Number([1])如果数组中只有一个值,并且是一个有效数字,返回数字值,如果是空数组返回0
Number([1,2,3])数组中有多个值,返回NaN
Number([1a]) 返回NaN
typeof 是一个操作符,检测数据类型
var num=123;
typeof num;
得到一个字符串;字符串内容表示的就是当前检测的数据的数据类型;
console.log(typeof num);
isNaN();用来判断是否是一个有效数字,检测数据是不是NaN,如果是NaN返回true,不是NaN返回flase;方法会默认调用Number,将被检测的数据转换成Number
isNaN("123"); false;
isNaN(NaN); true;
isNaN("abc"); true;
isNaN("undefined");true;
isNaN("null");false;
isNaN([]);false;
isNaN(true);false;
isNaN(false);false;
isNaN({});true;
parseInt();从字符串中截取整数;从左到右检测遇到非有效数字时停止检测,将得到的有效数字返回;如果第一位不是一个有效数字,返回NaN;
parseInt("123.789"); 123
parseInt("123abc"); 123
parseInt("-123abc"); -123
parseInt("abc123abc"); NaN
parseFloat();从字符串中截取含带小数部分的有效数字;他比parseInt多识别一位小数点;
parseFloat(""); NaN
parseFloat("12.12.abc");12.12
parseFloat([]);NaN
parseFloat([12,123]);12
parseFloat({});NaN 对象全部返回为NaN
toFixed();保留小数点后显示几位数,返回的结果是一个字符串
(123.toFixed(2);123.00
Uncaught SyntaxError: Invalid or unexpected token 错误显示符号错误
console.log() 在控制台打印的时,字符串是黑色,数字是蓝色
字符串:
string:在js中用用引号或者双引号包裹的文本都是字符串;
"abcdkdk" "dahd1223" 'adjk'
String();将其他类型转换成字符串;
String(123);"123"
String(undefined); "undefined"
String(true);"true"
String(null);"null"
基本数据类型转换为字符串,就是将括号中的数据,直接加上双引号
String([12]);"12"
string([12,13,14]);"12,13,14"
将数组中的中括号去掉,然后包裹引号
String({});"[object Object]" 对象转字符串,不论对象有没有内容,都是“[object Object]”
str[100];//没有对应的索引值,返回undefined
+:拼接符 将两串文本拼接
123+"abc"+{}+[12]+null+undefined
"123abc[object Object]12nullundefined"
-*/%:将两边转换为数字后进行运算
索引:给字符串进行排序,从左边第一个开始依次累加:第一位是:0
var str="abcdefg";
console.log(str[2]); c
length:表示字符串的长度,字符串中有几个字符;
var str="abcdefg";
console.log(str.length); 7
str.length; .可以理解成“的”
length-1等于字符串最后一位索引的值;
console.log(str[str.length-1])
console.log(length) 返回值为0;
javaScrpit的三大组成部分
ECMAAcript:es 规定了js中的语法;js的核心
DOM
BOM
==扩展==
charAt &&charCodeAt
str.charAt(索引):返回指定索引位置的字符,和str[索引]的区别在于,当指定的索引不存在的时候,中括号的方式获取的是undefined,而charAt获取的是空字符串
str.charCodeAt(索引):在charAt基础上,把获取的字符变为unciode编码值(对应ASCII码表)
0-9 对应的是 48-57
A-Z 对应的是65-90
a-z 对应的是97-122
String.fromCharCode():把值按照ASCII码表中的信息,转换为原有的字符,和charCodeAt正好对应
substr&&substring &&slice
实现字符串的截取的三个方法;
str.substr(n,m):从索引n开始,截取m个字符
str.substring(n,m):从索引n开始,截取到索引m处(不包含m),把找到的部分截取
str.slice(n,m):和substring语法一样,区别在于slice支持负数索引
细节:
1、如果值传递了n(str.sub(n))/str.substring(n)相当于从索引n开始一致截取到字符串的末尾
如果传递的索引超出最大限制,也是把只能截取的部分截取掉即可
3、如果一个参数都不传递:相当与把整个字符串都截取(字符串克隆)
indexOf && lastIndexOf
str.indexOf:检测字符在字符串中第一次出现字符的索引,如果没有返回-1
string.lastIndexOf:检测字符在字符串最后出现的索引
可以验证一下当前字符串中是否包含某个字符
split
str.split:按照某一个字符,把字符串拆分成数组中的某一项,和数组中的join方法是对应的,支持正则拆分
var str='music|movie|eat'
str.split('|');-->["nusic","movie","eat"];
var str='music';
str.split('');-->["m","u","s","i","c"];
replace
str.replace:实现字符的替换,一般是和正则结合在一起使用,不回改变原有字符
str="abcdefd";
str.replace("旧字符","新字符");-->"a替换cdfd"//只能替换一次,执行多次可能也不能全部替换,这时候我们就需要搭配正则来使用
trim &&trimLeft &&trimRight
str.trim:去除字符串收尾空格
stt.trimLeft:去除字符串开始的空格
str.trimRight:去除字符串结尾空格
toUpperCass();将字符串中所有的字符都转换成大写;
toLowerCase();将字符串中所有的字符都转换成小写;
concat();字符串拼接;
startsWith();
str.startsWith("www")判断是否以指定字符串开头 ES6 (判断字符串是否以www开头)