day01.基础笔记

一.什么是javaScript?

1.与页面进行交互的脚本语言,具有较强的逻辑性.

二.javaScript语言的特点

1.脚本语言.javaScript是一种解释型的脚本语言
2.基于对象
3.简单
4.动态性
5.跨平台性

三.javaScript的组成部分

1.核心(ECMAscript:欧洲计算机制造商协会) (语法规范:ECMA-262标准)
2.BOM  浏览器对象模型(browser object model)
3.DOM 文档对象模型(document object model)

四.<script>标签的属性:

- src 表示要引入的外部文件
- type表示脚本语言的类型  text/javascript,默认值就是他
- language已废弃.原来用于代码使用的脚本语言.由于大多数浏览器忽略他,所以不要用了.
- defer:可选.(等页面加载完成后,才执行js)表示脚本可以延迟到文档完全被解析和显示后再执行.由于大多数浏览器不支持,故很少用.
- charset:可选.表示通过src属性指定的字符集.由于大多数浏览器忽略他,所以很少用它
- async:可选 ,能简单实现js的异步加载.

五.声明变量

1.使用var关键字(variable:可变的量)
var uname; // undefined
uname="周杰伦"; // 赋值

2.声明变量即赋值(推荐)
var uname="周杰伦";

3.声明多个变量
var uname="周杰伦",age="20";

注意: 我们在定义变量的时候,尽可能的不要只声明,不赋值,而是声明的同时初始化一个值

六.数据类型

1.基本的数据类有6种

string 字符串类(单引号或双引号都是字符串),
number 数值类型 (包含整型,浮点型),
boolean 布尔类型(true/false),
null(顶级) Object,
undefined  未定义类型,
object 对象类型(array,function....)

null派生了undefined

//分2种类型
1.值类型 string,number,boolean,undefined

2.引用类型 object,array,function

2.查看基本的数据类型的方式

typeof  uname 或 typeof(uname)

七 关键字:已经被js内部使用了的

image

八.保留字:虽然还没被使用,但将来可能会被js内部使用
image

九.变量的命名规范

1.只能是数字,字母,下划线_,$
2.不能以数字开头
3.不能是关键字或保留字
4.严格区分大小写
5.见名思意,语义化
6.驼峰命名法.

a.大驼峰

var YourName=new Person();//用于表示对象

b.小驼峰

var yourName="周杰伦";//表示普通的变量

十.Boolean类型的转换规则:(牢记)

String:非空字符为true,空字符为false
Number:非0数值为true,0和NaN为false
Object:对象不为null则为true,null为false
Undefined:undefined为false

Number类型
Number 类型包含两种数值:整型和浮点型.
NaN,即非数值(Not a Number)是一个特殊的值

==ECMAScript 提供了isNaN()函数,用来判断是不是NaN. isNaN()函数在接收到一个值后,会尝试将这个值转换为数值==

2.2类型的自动转换
var sAge="18";
sAge-0;//自动把字符串类型的"18"转变成数值类型的18
2.3强制转换法

1.Number(), String(), Boolean(),

字符串转数字类型:

parseInt()是把其他转换为整型
parseFloat()   是把其他类型转换为浮点型(小数)

十一.js运算符的使用

1.算数运算符:+, -, *, /, %(取余数mod )

2.字符串和变量的拼接: +

3.关系运算符

<  ,   >  ,  < =  , >=   ,== ,  === ,  !=,  !==

4.逻辑运算符: &&与(且)、||或丶!非

// && 只要找到一个假的,就不往后面找
// ||只要找到一个真的,就不往后面找
//  又称为  短路运算符,&&优先.
var str =2||true&&false;
console.log(str)?   2

5.赋值运算符:

=  ,+=  ,-=  ,*=  ,/=  ,%=

6.自增.自减

++a ,先运算,后赋值
a++,先取,后运算
--a  ,a--
//先自增,再乘法 最后+
var a =10;
var sum = ++a + a++ *2
//33

十二.特殊的面试题.

[]==[];   //false  2个[]不同对象的地址
[]!=[];   //true   2个[]不同对象的地址取反
[]==![];   //true  "!"优先,'![]'的值是false,接下来就是[]==false,比较
//由于右边不是对象,是值类型(boolean),所以左边的[]要转换值类型(Number([]))
[]==false; //[]要转换值类型(Number([]))先转数值0,再与右边比较.

先解析[]==false为什么是true?他是经历了这个过程最终才为true的.

([]==false)--->([]===+0)--->(""==+0)--->(+0==+0)--->  true
//Boolean([]),是true,因为[]是object.

关于0.1+0.2=0.30000000000000004

我们知道,计算机中存储的都是二进制的0和1,而我们现实中的数存入计算机中转换为二进制时有可能不能整除,也就是不能正好整除,所以用二进制表示现实中的数并计算就产生了误差。

0.1+0.2!=0.3参考文献

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容