JS基础语法的学习 基础同时也是重中之重 除了数组和正则 作为两个大块在其他文章呈现
-
-
目录
-
摘要:JS基础语法的学习 基础同时也是重中之重 除了数组和正则 作为两个大块在其他文章呈现
前言
JS基础语法学习 和其他技术栈的区别不大 简单的做一下笔记。
看起来全是代码 可能稍微可读性有点差。 因为是以前整的代码和注释作为笔记。注释不方便直接从代码中剥离出来 干脆一起放上去了。 放回本地IDE中会比较好看。
后面在总结其他前端方面的知识点时也会采用这种方式,直到开始学C语言时 会同步更新博客。
一、JavaScript是什么?
JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式
二、JS特点
JavaScript学习的三个内容:1、ECMAscript js标准
2、DOM 如何通过 JS操作网页 2、BOM 如何通过js操作浏览器。
JS的特点:1、是解释性语言,不用编译,可以直接运行。 2、语法结构类似于C Java
3、是动态语言 4、基于原型的面向对象。
三、JS的编写位置:
<html>
<head>
<meta charset="utf-8">
<title>js编写</title>
<!-- 可以在下面的里面写入 -->
<!-- <script type="text/javascript"> -->
<!-- </script -->
<!-- 也可以用下面的script里的src引入外部js文件
好处是 可以在不同的页面里使用同一块js代码 便于移植。也可以利用浏览器的缓存机制。
注意!:一旦在一个script标签里引入一个外部文件,就不能在里面引入任何代码了
如果需要再编写内部代码则需要另起一个script标签。-->
<script type="text/javascript" src="test.js">
</script>
<script type="text/javascript">
alert("我是内部js引入标签内容!")
</script>
</head>
<body>
<!-- 我们可以将js代码编写在标签的onclick属性中,但是这样结构与行为耦合
不方便使用,不方便维护和管理。最好还是在script标签里写-->
<button onclick="alert('点我干嘛')">点我一下</button>
<!-- 也可以将js写在超链接的href的属性中,点击超链接时执行代码 -->
<a href="javascript:alert('让你点你就点!!');">点我一下试试</a>
</body>
</html>
四、JS注释:
<html>
<head>
<meta charset="utf-8">
<title>基本语法</title>
<script type="text/javascript">
/*
js注释 多行注释
注释可以在源代码中查看,不会显示在网页
*/
// 单行注释 只对后面注释 需要养成良好的注释习惯
// 也可以利用注释来简单调试代码
/*注意1、js中严格区分大小写 不同于html
2、 每一条js中语句必须以分号;结尾(不写也会被浏览器添加但会降低性能且浏览器的分号可能会加错。)
3、js中也会忽略多个空格和换行,故可以用空格换行来美化代码。
*/
</script>
</head>
<body>
</body>
</html>
五、字面量变量标识符:
<html>
<head>
<meta charset="utf-8">
<title>字面量变量标识符</title>
<script type="text/javascript">
/*字面量:都是一些不可变的值,如 1 2 3 4 可以直接使用但一般不
变量:可以任意改变量,变量可以用来保存自变量 也便于使用 */
alert(123456987);
var a;//声明一个变量a
a=123321;
var b = 789987
console.log(a);
console.log(b);
// 在js中可以自主命名的都属于标识符——变量名、函数名、属性名
// 1、标识符中可以有 字母 数字 下划线 $
// 2、标识符不能由数字开头
// 3、标识符不能是es中的关键字或保留字 比如 var var = 123;错误
// 标识符一般都是驼峰命名法 (首字母小写,其他单词开头大写其余小写)
// 比如 helloWorld useTheKey. ---js底层保存标识符时实际上使用的是utf-8 所以其实中文汉字也可以用来当关键字
</script>
</head>
<body>
</body>
</html>
六、(一)JS基本数据类型的认识。
<html>
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript">
// 数据类型→字面量→sring(字符串)→number(数值)
// Boolean(布尔) null(空) undefined(未定义) object(对象)
// 前五种基本数据类型 object是引用数据类型
var str = "hello!";
// 上面这里单引号双引号都可以拿来包字符串
console.log(str);
var str2 = "我说:\"今天天气真不错!\"";
alert(str2);
// \表示转义字符 \"表示" \'表示' \\表示\ \t表示制表符 \n表示换行
/*在js中所有的数值都是number数据类型 包括整数和浮点数
*/
var a = 123;
var b = 45.6;
// 可以 使用 typeof 变量 输出数据类型
var c = "123";
console.log(a);
console.log(c);
console.log(typeof a);
console.log(Number.MAX_VALUE);
// 如果数值超过这个max 1.7976931348623157e+308 则会输出infinity无穷大_这也是个可以直接使用的number值
console.log(typeof Infinity);
console.log(typeof c);
x= "abv" * "sjs";
console.log(x);//这里会给出一个NaN no a number 检查这个typeof NaN也会返回一个number。
x = Number.MIN_VALUE;
console.log(x);//输出一个大于0的最小值 5e-324
var c = 0.1 + 0.2;
console.log(c);//在js中整数的计算基本可以保持精确
// 但是使用js进行浮点数计算时(由于底部二进制计算的关系)可能得到一个不精确的结果
// 所以尽量不要在js内部进行高精度浮点数计算,尽量放在服务器中计算。
// 布尔值 Boolean true 逻辑真 false 逻辑假
// null 就一个自己 null 空值 表示一个空的对象 注意!typeof null 返回一个object
// undefined只有它自己一个值 当声明一个对象却不赋值时 ,默认为undefined状态。typeof也是返回undefined。
</script>
</head>
<body>
</body>
</html>
六、(二)强制数据类型转换
<html>
<head>
<meta charset="utf-8">
<title>强制类型转换</title>
<!-- 指将一个数据类型强制转换成其他数据类型
主要指 string number Boolean 的转换。
-->
<script type="text/javascript">
/* ----------------------------------------------------------------------------------------------
将其他数据类型转换为String
方法一:调用被转换数据类型的toString()方法
方法二:调用string函数 并将转换的数据作为参数传递给函数
对于number 和 Boolean而言 string 底层就是调用的toString方法
而对于null 和undefined而言,不是调用tostring方法 而是直接将null 转换为 "null" undefined 同理.
*/
// 下面是方法一
var a = true ;
var b = a.toString();//调用a 的 tostring 方法 不改变原变量 需要一个变量接收返回值
console.log(typeof a);
console.log(typeof b);
// 注意null 和 undefined 没有此方法 调用会报错。
// 下面是方法二
var c = 123 ;
c = String(c);
console.log(c);
k = null ;
console.log(typeof k);
k = String (k);
console.log(typeof k);
//------------------------------------------------------------------------------------------------
/*下面将其他数据类型转换为number类型
方法一:调用number函数 同string
在转换时:如果是纯数字字符串,则直接转换为数字值
如果是含非数字内容,则转化内NaN.
如果字符串是一个空串或者是一个全是空格的字符 则为0;
布尔常量 true 转为 1 false 转为0; null转为0; undefined 为 NaN;
方法二:(专门用来对付字符串)
parseInt() 将字符串中的有效整数内容取出来转换为number (然而只能从左往右取整数 到第一个非数字就停止!)
parseFloat() 类似 但是取出有效的小数部分
如果对非string量使用 则会先将其转换为string 再进行转换
*/
var a = "123";
console.log(typeof a);
console.log(a);
b = Number(a);
console.log(typeof b);
var f = "123px";
f = parseInt(f);
console.log(f);
var g = "222b123px";
g = parseInt(g);
console.log(g);
var g = "222.123b123px";
g = parseFloat(g);