简介:

Javascript是一个脚本语言,弱类型的编程语言,简称js,被称为网站开发的行为。它的作用是增加页面特效、前后台交互以及应用于后台开发。它即可写在HTML的script标签里,也可写在外部js文件里。要注意的是JavaScript严格区分大小写,且以分号结尾,语句字符必须是英文。

html骨架(页面结构),css是样式(元素大小、颜色、位置、隐藏或显示等),js是行为(部分动画效果、页面与用户交互等)

变量定义:由于是弱类型,故不用指定类型,使用关键字var定义变量。

注释:多行注释/* .....*/   单行注释 //

引入js文件:<script type="text/javascript" src="js文件"> </script>

弹窗与控制台打印:分别是alert()和console.log(),在代码调试中常常用到这个。

六大类型:数字(number)、字符串(str)、布尔(true,false)、空(null)、对象、未定义(undefine)。未定义就是一个变量声名但未赋予值。

取变量类型:typeof 变量名

运算符:

  1. 括号:() [ ] 中括号表示数组的下标
  2. 逻辑反: !x
  3. 自加自减: x++ ++x x-- --x   前加和后加的区别在于前加是运算前执行++,后加是运算后执行++
  4. 算术运算符:* / % + -
  5. 比较运算符:< > <= >= == === !=  与其他语言不同的是多了一个===,这是由它的弱类型造成的,==只比较他们的值,不管类型,而===同时比较他们的值和类型。
  6. 逻辑运算符: &&  ||
  7. 赋值运算符:=
  8. 复合运算符:+=   -=   *=   /=  %=
  9. 条件运算符:z?x:y    条件z成立,返回值x,否则返回y。

+号两边是数字和字符串,加号起拼接作用。-和*、/、%号两边是数字和数字的字符串,会将数字字符串看出一个数字。

js获取元素

对于具有唯一性的标签,如body、title、head可以直接获取。

var obox = document.title

对于不具有唯一性的标签还可通过id、class、tagname、name、上下文选择器来获取。

var obox = document.getElementsById("xx")
var obox = document.getElementsByClassName("xx")
var obox = document.getElementsByTagName("xx")
var obox = document.getElementsByName("xx") #常用于表单
var obox = document.querySelector("xx xx") //只获取一个
var obox = document.querySelectorAll("xx xx") //获取所有满足条件的

如果获取的元素是一个确切的元素,可以直接操作这个元素,若有多个元素,必须通过下标来操作这个元素。

可用以获取的对象来取代document,以缩小获取元素的范围。

获取的元素可通过innerHTML或innerText来修改标签里的内容,innerHTML可以解析标签,innerText不能。如:

document.body.innerHTML = "<i> hello,world. </i>“

js简单事件

所谓的事件就是指JavaScript捕获到用户的操作,并能做出正确响应。在事件函数里,有一个关键字this,它代表当前触发事件的这个元素的事件。

格式: 对象.事件 = function(){ xxxx  }

鼠标事件:

  • 单击事件:onclick
  • 双击事件:ondblclick
  • 鼠标划入事件:onmouseenter
  • 鼠标划出事件:onmouseleave

如:

obox.onclick = funtion() {
this.innerText = "hello";
}

js操作属性

对于标准的属性如href、class、id、name、target等可以直接进行读取和修改。要注意的是class属性在操作属性里写作classname。

obox.target = "_self_;
obox.classname = "long" #操作class属性

对于不规范的的属性,读取和修改分开,读取用getAttribute(”属性“)方法,设置属性用setAttribute(”属性“,”属性值“)方法,移除属性用removeAttribute(”属性“)方法。这三种方法对于规范属性同样有效。

设置属性可以一次给一个属性设置多个值,一般只有class这个属性可以有多个值,多个值之间用空格分开。

js操作css样式

js操作样式有两种方式,一种是直接利用变量对象操作,一种是放在事件函数里操作。

直接操作:变量.style.属性 = ”xxx“。 要想一次改多个属性: 变量.style.cssText = "属性1:值;属性2:值” 。 操作复合属性有两种,一种是要去掉-号,-号后面的第一个单词大写。如oBox.style.marginLeft = "100px";另一种不需要改动属性名,oBox.style["margin-left"] = "100px"。

放在事件函数里:就是将变量改成this。其方法与直接操作是一样的。

JavaScript详解(一)的更多相关文章

  1. Day03 javascript详解

    day03 js 详解 JavaScript的基础 JavaScript的变量 JavaScript的数据类型 JavaScript的语句 JavaScript的数组 JavaScript的函数 Ja ...

  2. Unicode与JavaScript详解

    本文为转载内容 一.Unicode是什么? Unicode源于一个很简单的想法:将全世界所有的字符包含在一个集合里,计算机只要支持这一个字符集,就能显示所有的字符,再也不会有乱码了. 它从0开始,为每 ...

  3. javascript 详解数组

      概念 数组创建 数组读写 数组 VS. 一般对象 相同点 不同点 稀疏数组 数组的length属性 元素增删 数组迭代 二维数组 数组方法 Array.prototype.join Array.p ...

  4. 【原创教程】JavaScript详解之语法和对象

    JavaScript的好的想法:函数.弱类型.动态对象和一个富有表现力的对象字面量表示法. JavaScript的坏的想法:基于全局变量的编程模型.   好了,不管他是好的还是坏的,都是我的最爱,下面 ...

  5. JavaScript详解

    JavaScript可以说是web开发中必备的一种技术.它具有灵活,简单,高效等特点.这次DRP中大量的用到了js,让自己对js有了更深的了解.看完这个以后还回去看了一下牛腩的js视频.把以前没看的看 ...

  6. Unicode与JavaScript详解 [很好的文章转]

    上个月,我做了一次分享,详细介绍了Unicode字符集,以及JavaScript语言对它的支持.下面就是这次分享的讲稿. 一.Unicode是什么? Unicode源于一个很简单的想法:将全世界所有的 ...

  7. Web前端之Javascript详解20180330

    一.javascript概述 javascript是基于对象和事件的脚本语言. 特点: 1.安全性(不允许直接访问本地硬盘(因为是被远程的浏览器解释)),它可以做的就是信息的动态交互 2.跨平台性(只 ...

  8. JavaScript: 详解正则表达式之三

    在上两篇文章中博主介绍了JavaScript中的正则常用方法和正则修饰符,今天准备聊一聊元字符和高级匹配的相关内容. 首先说说元字符,想必大家也都比较熟悉了,JS中的元字符有以下几种: / \ | . ...

  9. JavaScript: 详解正则表达式之一

    正则表达式是一个精巧的利器,经常用来在字符串中查找和替换,JavaScript语言参照Perl,也提供了正则表达式相关模块,开发当中非常实用,在一些类库或是框架中,比如jQuery,就存在大量的正则表 ...

  10. javascript详解1

    推荐学习链接: https://book.apeland.cn/details/356/ http://es6.ruanyifeng.com/#README https://developer.moz ...

随机推荐

  1. 怎么在一个servlet中实现多个功能 ?如何使一个Servlet处理多个请求?

    自学javaweb一直不知道一个servelt可以有多个功能!看了别人代码才知道这个可以有! 平时你建立servelt时候你会吧doget和dopost这两个勾上,要想实现多个功能,你不必要勾选dog ...

  2. sublime text 常用插件安装

    一.安装方法 ctrl+ship+p —— 在弹出的地方输入 pci (package control: install pagckage)—— 再输入 要安装的包名 二.一步过慢或失败解决: 原因: ...

  3. 吴裕雄--天生自然JAVA SPRING框架开发学习笔记:Spring声明式事务管理(基于Annotation注解方式实现)

    在 Spring 中,除了使用基于 XML 的方式可以实现声明式事务管理以外,还可以通过 Annotation 注解的方式实现声明式事务管理. 使用 Annotation 的方式非常简单,只需要在项目 ...

  4. ssm搭建,maven,javaConfig

    基于java配置SSM,eclipse 新建maven,web项目 .... 项目结构: jar包 pom.xml spring和DispatcherServlet上下文,相当于web.xml pub ...

  5. ssh and scp从远程服务器下载文件

    scp -r root@172.16.252.32:/home/files /home/files   下载目录  -r root是用户172.16.252.32是ip:/home/files 是你要 ...

  6. Xcode10趟坑之路

    https://www.jianshu.com/p/12558d39ba08 先默念别有太多坑啊 跑起来吧 结果没有跑起来 1.第一个坑 Showing Recent Messages :-1: Mu ...

  7. 如何利用vue脚手架创建一个vue项目

    1.安装node.js 2.打开命令行查看下npm和node是否都安装好 node -v npm -v 3.安装淘宝镜像cnpm $ npm install -g cnpm --registry=ht ...

  8. Codeforces 1299B/1300D - Aerodynamic

    题目大意: 给定一个图形S,让这个图形任意平移,但是要保证原点(0,0)一直在它的内部或者边上 最后把它能移动到的所有位置进行拼合可以得到一个图形T 问图形S与图形T是否相似 点会按照逆时针顺序给出 ...

  9. Ubuntu Kylin 14.04LTS 开机后卡在登陆界面,可以进入字符界面,或者登陆后鼠标不显示但是管用

    2014年4月27日,距离中期检查还有七天,基本上什么也没做,特别着急,雨已经下了快一天了,中午用美团外卖定的黄焖排骨,MD,什么玩意,那么一点点就18块钱,一看就不值五块钱,发誓再也不吃,最重要的是 ...

  10. 给rar文件加个自定义头

    unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...