js基础知识变量及数据类型总结(一)

js基础知识(一)

现在有好多网友学习JS对于相关的知识都是视频学习,针对知识点的学习不是系统的,没有记笔记的习惯,建议初学者可以按照我的学习方法一步步的学习和提升自己,相互交流,接下来的时间我会将自己总结和学习的笔记分享给大家。
1.什么是Javascript?
Js是一门面向对象的脚本语言,
它是的运行需要依赖其他程序运行的一种语言。
如:html只能在浏览器中运行,那么js必须嵌入到html中才能运行。

2.js的作者布兰登·艾奇
网景公司前员工:Netscape 做浏览器 Netscape Navigator 占据了很多市场份额 75%了默认浏览器。
95年js作者:开发js 可以直接在网页中运行,当时叫liveScript,面临巨头微软IE浏览器竞争:选择和另一家巨头SUN公司合作(java),95年12月liveScript改名为 javascript,97年倒闭:将源码公开了(开源),现在的火狐浏览器。

现在的js:
IE看到网景javascript成功,也开发类似语言JScript

​ 问题:开发一个网页需要写不同代码

​ 97年 ECMA 欧洲计算机制造商协会 统一了 制定了js规则

​ ECMAScript 基础语法 es5

​ DOM 文档对象模型

​ BOM 浏览器对象模型

3.javascript能做什么?

网页三大结构:

html =>结构 搭建网页结构

css =>样式 美化页面

javascript =>行为 网页面向用户 用户跟网页有交互,可以让网页动起来

1. 常见的网页效果【表单验证,轮播图。。。】
2. 与H5配合实现游戏【水果忍者: http://www.jq22.com/demo/html5-fruit-ninja/】
3. 实现应用级别的程序【http://naotu.baidu.com】
4. 实现统计效果【http://echarts.baidu.com/examples/】
5. 地理定位等功能【http://lbsyun.baidu.com/jsdemo.htm#i4_5】
6. 在线学编程【https://codecombat.163.com/play/】
7. js可以实现人工智能【面部识别】
8. 。。。

4. js组成

  • ​ EcmaScript 基础语法 第一周学习 前期主要学习es5 后续学习es6
  • ​ BOM 浏览器对象模型 浏览器相关
  • ​ DOM 文档对象模型 操作html/css

5. js能如何在html中使用

  • 1,新增script标签,在script标签内容中写js(内部引入 类比css内部样式表)
<script type="text/javascript">
	alert("hello 第一天学习javascript");
</script>
//type属性可以不写  type定义引入脚本的是js
//script最好写在body内容最后,代码从上往下运行,先运行html/css
  • 2,新增script标签,通过script标签src属性引入外部的.js结尾的文件(引入外部 类比css外部样式表)
<script type="text/javascript" src="outer.js"></script>
/*
1,type属性可以不写
2,script引入外部js,此时script标签不要有内容 无效的
*/

6.js注释

//  单行注释
/*
我是多行注释
可以注释多行
*/

7.js语法

语句是js最小组成单位:语句可以理解为一个命令,告诉计算机要干什么,程序就是由若干语句组成的
语法规范:

1,每一个语句结尾,都要由英文的 ;结尾,告诉计算机这行语句结束了

2,js是严格区分大小写、中英文的 (初期学习要注意)

三个输出语句:

alert()  弹出窗口

document.write()  在内容打印到html上

console.log();  打印到控制台

其他两种使用js方式 了解一下

<a href ="#"></a>  空链接 回到顶部
//1,样式上还是a标签样式

//2,阻止超链接跳转

<a href="javascript:;"></a>

<a href="javascript:alert(1);"></a>

元素标签的事件中写js

> 事件 是绑定在元素上的,用户可以通过某个行为触发这个事件  比如 点击事件  click

<button onclick="js"></button>

8.js变量(重点)

  • 为什么要使用变量:利于统一管理程序 可能变化的值,在需要的位置可以直接使用 提高了代码的可重用性和可维护性
  • 变量如何使用(声明、赋值、使用)
  • 变量声明:

​1,使用var 关键字声明变量

var js关键字

var 变量名;

声明一个变量(容器),此时变量未赋值,容器是没有值

2,声明的时候并赋值,可以同时声明多个变量并赋值,多个变量之间使用英文**,**分割

var a=10;
var a=10,b=20;

3,一个变量只声明没有赋值,使用这个变量,结果就是undefined

4,变量命名规范(怎么命名)

  • 由字母数字_$组成 数字不能开头
  • 尽量使用英文 见名知意 ,尽量语义化
  • 不能使用js关键字以及保留关键字

关键字:EcmaScript5

break、else、new、var、 case、 finally 、 return、 void 、 catch 、for 、switch 、 while 、 continue、 function 、this 、 with 、default 、 if 、 throw 、 delete 、 in 、 try 、do 、 instranceof、 typeof

保留关键字

abstract 、 enum 、int 、 short 、 boolean 、export 、interface、 static、 byte 、extends 、 long 、 super 、 char 、 final 、native 、synchronized 、 class 、float 、 package 、throws 、 const 、goto 、private 、transient 、 debugger 、 implements 、protected 、 volatile 、 double 、import 、public

5,变量的命名方法

​ 为了避免与关键字以及保留关键字冲突 变量命名可以使用 不同的方法

  • 下划线命名法

    当一个变量由两个或者两个以上单词组成的时候,中间使用_连接

    var user_name; var user_gender; var _username;

  • 驼峰命名法
    小驼峰 推荐写法
    当一个变量由两个或者两个以上单词组成,从第二个单词开始,首字母大写

    ​ var userName; var userAge;

6,变量数据类型

基本数据类型:
number数字 (整数、浮点数)

​ string字符串(需加引号)

其他数据类型转字符串 xxx.toString( ),注意null和undefined不能用这个方法

​ boolean布尔(两个值 true/false)

其他数据类型转布尔类型 false:0,",null,undefined,NaN
其他都是true

​ undefined未定义(1,使用一个已经声明但未赋值变量2,访问一个对象不存在的属性)

​ null 空

复合类型(引用类型)

object function 对象 (数组、日期、正则、、)

9,运算符和表达式
关于运算符会发生数据类型的转换

隐式转换:不同数据类型在运算过程中自动发生的数据类型转换

自动转换:程序员调用一些方法,手动转换数据类型

赋值运算符
+=、-=、*=、/=、%=

关系运算符(比较运算符): < > <= >= == === !=

隐式转换期待是数字

运算数必须是一个变量,数组的一个元素或对象的属性(规则相同)

关系运算符的大小关系检测:
1.值与数值之前的比较,是比较它们的代数值;
2.仅一个运算数是数值,将另外一个转化为数值并比较;
3.字符串之间的比较是比较他们的unicode码;
4.字符串与非数值比较是将非数值转化为字符串进行比较
5.运算数非数字也非字符串,他们转化为数值或字符串后比较;
6.运算数无法转化为数字或字符串,返回的结果为false;
7.与NaN比较,返回时false…(NaN)属于数字类型当时它与自己都不相等

注意点:=== 与==之间的区别
全等比较的是相同数据类型,且数值都相等才成立,引用类型间的比较是比较他们之间的(内存地址)引用值

逻辑运算符: &&(与) ||(或) ! (非)

隐式转换期待是布尔值(true和false)

拓展:
短路操作:表达式1 || 表达式2
当前面的表达式1已经得出结论,则后面表达式2不执行
当前面的表达式1没有得出结论,则后面表达式2执行
逻辑与 和 逻辑或的项目应用:
1.条件判断中使用
2.在赋值操作中我们可以用他们设置默认值
3.两种方式的混合应用模式

算数运算符
+、-、*、/、%
隐式转换期待是数字
注意
+号的特殊性
1.对于数字键进行数字求和
2.对于字符串进行的是拼接操作
3.’ '利用空字符串可以进行相应的转化为字符串类型
++ –
注意:前++ 前-- 和 后++ 后–区别
符号位置决定运算结果:
前置:先进行操作,再返回求值(自增1,将新值返回运算)

eg:

function a1(){
var n=1;
console.log(++n)//2
}
function a2(){
var n=1;
console.log(n++)//1
}

后置:先求值,再进行求值(自增1,将旧值返回操作)

其他的运算符
typeof(返回变量数据类型)
转义字符: \ …

																											M 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值