javascript基础

基础部分

变量:var name=“小文”;age=“18”;sex=“男”;(如果一个变量没有给他赋值的话他的值就是undefined);也有全局变量(定义在方法外面的变量,当页面被关闭之后就销毁)和局部变量(定义在方法体的内部,方法结束之后就销毁了)的说法;注意如果是你给一个没有声明的变量赋值的话这个变量就会变成一个全局变量(即使是写在方法体内部的变量)

数据类型字符串(var Say=”I am ‘bill’ ”),数字(var age=23.0 var money=123e5——科学计数法),布尔(var x=true;),数组(var cars=new Array()😉,对象( var person={key1:value1,key2:value2}; 或者是 var person =new Object();),NullUndefined;在声明变量的时候是可以使用new关键字来声明他的类型的—— var name=new String;

对象:在JavaScript中所有的事物都是对象,比如说上面提到的那些类型的变量都是一个一个的对象(拥有属性和方法的);比如说上面的 name 就是一个String的一个对象 就拥有length这个属性; 已经存在的对象可以为他添加属性和方法; 属性的调用对象名点属性名,方法的调用对象名点方法名;

函数:使用function关键字(注意是小写)修饰;一般使用就不说了;可以有返回值:没有Java里面的什么返回值类型,直接在方法体中使用return关键字返回希望返回的值,在调用方法的时候使用一个变量去接收返回的值就行了;注意当执行了return之后并不是说JavaScript就结束了而是这个函数结束了;

运算符:算数运算符(和Java一样 注意如果是数字和字符串相加的话结果是一个字符串);比较运算符:“==” 和 “===” 的区别 前者是比较值是否相等,后者是比较值和类型是否相等;!=,>,<,>=,<=; 逻辑运算符:&& (and) ||(or) !(not);

支持三元表达式:支持if else ,switch case ,for 循环,有一个For in 循环(遍历对象的属性),while 和 do while 循环; 也有 break 和 continue 关键字 用于跳出代码块(continue用于跳出循环,break 可以用于 跳出代码块 有一个什么标签(标签名字加冒号 )的概念);也有 try catch 语法,有Throw关键字用来自定义错误或者是抛出异常;
try-catch的使用
DOM 树:当我们的页面被浏览器加载的时候回将这个页面创建一个文档对象模型;
dom树通过这上面的这些可编程的对象模型,JavaScript就能够对页面的所有的东西进行操作了,(我的理解就是当我们的页面被加载的时候就是将这个页面 生成一个对象 就像上面的那个图一样的的一个 对象,都有这个文档对象了 感觉需要获得里面的什么对象来进行操作或者是要新增什么的还是比较容易了吧 )
查找HTML元素:通过 ID 标签名字 类名 都能够找到对应的HTML 元素;

JavaScript Window浏览器对象模型BOM:使JavaScript有能力和浏览器对话;

  • Window对象:表示浏览器的窗口,JavaScript的全局变量,函数以及变量均自动的称为window对象的成员(全局变量是window对象的属性,全局函数是window对象的方法,像HTML DOM 的document也是window对象的属性之一);

  • Window 的screen对象:包含屏幕的一些信息(比如说什么屏幕的可用宽高啊那些东西 screen.availHeight可用的高度 screen.availWidth 可用的宽度);

  • Window的Location对象:用于获取当前页面的URL(当前页面地址),并把页面重定向到新的页面;location.hostname 返回Web主机的域名,location.pathname 返回当前页面的路径和文件名,location.port 返回Web主机的端口(80或者是443),location.protocol 返回所使用的web协议(HTTP或者是https),location.href 返回当前页面的URL,location.assign 加载新的文档;

  • Window的History对象:这个对象包含浏览器的历史;history.back() 加载历史列表的前一个URL,history.forward加载历史列表中的下一个URL;
    Window的navigator对象,包含有访问者的浏览器信息;

  • JavaScript消息框:可以有三种消息框(警告框alert(),确认框confirm()如果点击确认返回true 否则返回false,提示框prompt(“文本”,“默认值”) 提示框出现后需要用户输入某一个值,然后点击确认或者是取消按钮才能继续操作,如果用户点击确认,返回输入的值否则返回null);

  • JavaScript计时器: 就是通过JavaScript实现一些定时啊啥的;setTimeout(“JavaScript语句”,毫秒) 未来某一个时刻执行代码,clearTimeout() 取消设置的timeout;

  • JavaScript Cookies :存储在访问者的计算机中的变量,每当同一台计算机通过浏览器请求某一个页面的时候,就会发送这个cookie,可以使用JavaScript将这个cookie值取出来

JavaScript对象
上面说了,在JavaScript中所有的东西都是对象,并且JavaScript有很多的内置对象(就像在Java中一样有很多内置的对象),

  • 对象的创建:1、定义并创建对象实例;2、使用函数来定义对象,然后创建新的对象实例;创建直接的实例:Person=new Object()然后可以为他添加属性方法什么的——添加属性:person.name=”xiaowen”添加了name 属性——添加方法;使用构造函数创建对象:
    在这里插入图片描述 在这里插入图片描述添加方法
    在这里插入图片描述

JavaScrip深入

ECMAScript: 在1997年很多的公司啊那些一起制定的 脚本语言的语法和语意(就是脚本语言的一些规范 为了满足什么跨平台啊、中立于厂商啊啥的);JavaScript的核心ECMAScript描述了该语言的语法和基本对象;

DOM:描述了处理网页内容的方法和接口;

BOM:描述了于浏览器进行交互的方法和接口;

一个完整的JavaScript实现是由 ECMAScript 和 DOM 以及BOM组成;
在这里插入图片描述
ECMAScript:定义了一套规范,简单的说描述了一门脚本语言的 语法,类型,语句,关键字,保留字,运算符,对象等;但是仅仅只是一个描述,定义了脚本语言的所有的属性,方法和对象。我们用到的JavaScript就是实现了 ECMAScript规范的语言;每个浏览器都有他自己的ECMAScript接口的实现

ECMAScript:区分大小写,变量弱类型,每行结尾分号可有可无,注释和Java一样,使用 var 来声明一个变量 变量名需要遵守一些简单的规则(只能是字母,$,_ 开头后面可以使下划线,美元符号,或者是任意的字母或数字);变量可以不用初始化,一个变量可以赋给他多种类型的初始值,
原始值和引用值

  • 原始值:存储在栈内存中,他们直接存储在变量访问的位置;

  • 引用值:存储在堆中的对象,存储在变量出的值是一个指针,指向存储对象的内存处;五中原始的类型Undefined、Null、Boolean、Number 和 String;有一个typeof 运算符 一元的(检查变量的类型);值 undefined 实际上是从值 null 派生来的,因此 ECMAScript 把它们定义为相等的;

  • 特殊的Number值:前两个是 Number.MAX_VALUE 和 Number.MIN_VALUE,它们定义了 Number 值集合的外边界; NaN,表示非数(Not a Number);isNaN() 判断一个数是否是数字(后者是能否转换成数字);

  • String类型:在ECMAScript中他是没有固定大小的原始类型;其他的类型转换成string类型,通过toString()方法;转换成Number类型:parseInt()或者是parseFloat() 实现;

  • 函数一些不知道的东西:arguments对象,就是说在参数列表中可以不写形式参数,但是呢方法可以传参数进去,在方法里面通过arguments[index] 就能够找到对应的参数信息,也可以使用这个对象来检测函数参数的个数,这样还可以模拟函数的重载;Function 对象(类):我们平时创建的函数的方法体,可以作为对象的参数形式来表现;所以说Function也是一个 对象;也有length属性 表示方法期望的参数个数(注意函数的参数个数最多只能有25个);

  • 模块化:就像在Java中的类一样,或者是就像一个函数一样,定义了一个方法使用的时候直接调用一样;(补充:JavaScript是大小写敏感的,js的变量也是区分大小写的——他的命名规范能够以字母$和_开头推荐使用字母开头)
    在JavaScript中不是也可以创建对象嘛,可以采用对象的形式来实现模块化;
    Var a=New Object({

    });

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值