今天在整理笔记,这是我重新整理的JavaScript的笔记。我觉得学什么东西,就应该认真去学,努力去学!
java学习笔记
一、js有三种方式来使用
1. 首先第一种:写在标签里面
2. 其次第二种:写在页面script标签里面
3. 最后第三种:写在单独的一个***.js文件里
演示:
标签里的js:+ 需要事件去驱动;+ <a href="javascript:alert('hello world')">点击</a>+ 写在行内会通过点击激活操作执行
内联式写法:
写在script双标签内,一般写在body里,head之适合引入,在head内不适合写js代码;
代码写在了script标签里面会立即执行
外链式写法
在外部创建一个独立的***.js文件;
用script双标签进行引入
用外链式引入和内嵌式不能混用,否则会优先执行外链的
引入的代码也是立即执行
变量
定义
存放数据的容器
命名规则
首字母只能是$, _, 字母
由数字,字母,下划线以及$符号来命名
+ 不能由字母开头*
+ 最好就是见名知意
语法规则
关键字 : 代表特殊含义的运算
var 变量
+ 通常叫做声明
+ 关键字不需要运算,因为其本身就是运算规则
+ var $a1;
+ var _a1;
+ var a_1;
+ str = "Hello World";
赋值
利用赋值符号来给变量赋值
var a1 = 5;
var a2 = "nihao"
数据类型
物种简单数据类型:
+ 1.字符串 string;
+ 2.数字 number;
+ 3.布尔值 boolean;
+ 4.undefined undefined;
+ 5.null null
关键字 typeof 能查看数据属于什么类型
+ typeof:
+ var bool = false;
+ var str = "Hello World"; // expected output:
+ var res1 = typeof(bool); // expected output: Boolean
+ var res2 = typeof str; // expected output: String
数据类型的转换
为什么要数据类型转换
JavaScript 的变量之中可以存储任意类型的数据;
其他类型转换位数字的规则:
+ 通用转换方式:
+ 通用转换方式:
+ API: Number(被转换的数据类型);
+ JavaScript 所有的API都需要区分大小写
+ 1.纯数字字符串:
+ var str1 = "123456";
+ var num1 = Number(str1); console.log(str1, num1); //expected output : "123456" 123456
+ 2.数字字母混淆的字符串
+ var str2 = "123abc123";
+ var num2 = Number(str2); console.log(str2, num2); //expected output : "123abc123" NaN
+ 3.NaN的特征:
+ 1).NaN 转化为boolean ==> flase;
+ 2).NaN 不等于任何数值包括NaN;
+ 3).NaN 判断需要特殊的API : isNaN;
+ parseInt() / parseFloat()转换
+ parse 的转换不是整体进行字符串的类型转化,而是逐个字符的进行类型抓换
+ 如果字符串的开头字符是非数字,返回结果为NaN
+ 若是数字开头,转换到字母就不认识了返回数字
+ parseInt 的高级用法 :
+ 进制转换 parseInt("不同进制的数值", 当前字符之中的数值为多少进制 | Number);
+ var num3 = parseInt("0x68FA", 16); console.log(num3); // expected output: 26874
+ 布尔转数字
+ false => 0;
+ true => 1;
+ undefined 转数字
+ NaN
+ 基本类型转换的应用 => 数字常用计算 :
+ 特殊: +
+ 俩个含义: 一个是数字相加,
+ 一个是连接
+ var str3 = "10";
+ var str4 = "11";
+ var str5 = str3 + str4; console.log(str5); // expected output : 1011
+ var str6 = 10;
+ var str7 = "20";
+ var str8 = str6 + str7; console.log(str8); // expected output : 1020
+ 结论:
+ 1.先判断 + 运算, 左右两侧数值不一致
+ 数字 + 字符串
+ 优先把数字转换为字符串
+ 100 ==> "100"
+ 进行同类运算
+ 如果运算符俩侧没有字符串,优先转换为数字类型进行计算
+ var bool2 = true;
+ var num3 = 20;
+ var num4 = bool2 + num3; console.log(num4); // expected output : 21;
+ * / - % 都是优先转换为数字才运算
+ var str9 = "5";
+ var str10 = "10";
+ console.log(str9 - str10); // expected output : -5
+ console.log(str9 * str10); // expected output : 50
+ console.log(str9 / str10); // expected output : 0.5
+ console.log(str9 % str10); // expected output : 5
+ NaN 和任何数字计算结果都是 NaN
+ var str11 = "5hello";
+ var str12 = "10";
+ var str13 = str11 * str12; console.log(str13) // excepted output : NaN
+ string 字符串
+ String() 转换
+ 1. 全部转换为字符串
+ toString() 转换
+ 1.变量.toString()取出
+ 2. js中 undefined 和null不允许去除运算,否则会
+ 3. 隐式数据类型转换
+ var bool4 = true;
+ var str15 = boo3 + ""; console.log(str15); // expcepted output: true
+ 4. toString()进制转换
+ var num15 = 99;
+ var num16 = num15.toString(16); console.log(num16); // excepted output : 63
+ toString 转换进制的范围在 2 ~ 36 进制; 如果不在这个范围之内会报出 RangError ;
+ 5.false :
+ 除了 0 和 NaN 会转换为False 其他的值都转换为true;
最后推荐学习前端一本书:
- javascript 高级程序设计 (第四版)