今天在整理笔记,这是我重新整理的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 高级程序设计 (第四版)