原生JS工程师是什么意思?有主要为web ui开发的要求吗?

JavaScript013

原生JS工程师是什么意思?有主要为web ui开发的要求吗?,第1张

原生js工程师大概就是主要负责js代码,但要求是能够在不使用框架的情况下有较高的js处理能力。因为原生js就是指没有框架的js。但原生js工程师不可能不会使用js框架,你是说你js很牛,但你不知道有jq框架,这简直是搞笑。因为html的控件比如按钮、下拉列表之类的都很简陋,所以js工程师的另一个任务可能就是编写web ui插件,比如日期选择器、树列表等等。写这些插件估计不会要求不能使用框架,但也不是没有可能,因为有些公司对框架不太信任,希望有自己的框架。

总之,原生js工程师一定有能力使用框架的。至于主要开发任务是不是web ui,这个就不知道了,毕竟现在js都能做服务器端开发了,只做ui的话,没必要请一个js工程师。

原生的JS函数或方法一般都是由运行环境提供,运行环境分多个。

1、浏览器,一般浏览器都是用系统API写的,对WINDOWS,UNIX/LINUX系统是,C语言编写,相应的js原生方法,用C语言实现;特例:MAC OS 与IOS由OBJECTIVE-C,SWIFT提供系统API,相应的js原生方法用OBJECTIVE-C或SWIFT实现。

2、adobe,C语言编写依赖操作系统API,js原生方法由C语言或OBJECTIVE-C,SWIFT现;看运行目标平台。

3、node.js,mongodb,C语言实现,js原生方法由C语言实现。

4、微软excel2010及以后版本,有可能C#或.net实现,具体不详,js原生方法由C#或.net实现。

记录这篇文章,在工作中一直借用一些js框架 ui框架,对js底层api有所遗忘,目的为了自己复习以下原生js操作方法,所有的js框架都是基于原生js方法和属性,尤其vue源码使用原生js开发,自底向上模式

Node 是一个接口,各种类型的 DOM API 对象会从这个接口继承。它允许我们使用相似的方式对待这些不同类型的对象;比如, 继承同一组方法,或者用同样的方式测试。

以下接口都从 Node 继承其方法和属性:

Document, Element, Attr, CharacterData (which Text, Comment, and CDATASection inherit), ProcessingInstruction, DocumentFragment, DocumentType, Notation, Entity, EntityReference

注意

NodeList对象是一个节点集合,一般由

Node.childNodes,

document.getElementsByName和

document.querySelectorAll返回

注意

打印的oTest.childNodes

TMLCollection是一个特殊的NodeList,表示包含了若干元素(元素顺序为文档流中的顺序)的通用集合,它是实时更新的,当其所包含的元素发生改变时,它会自动更新。另外,它是一个伪数组,如果想像数组一样操作它们需要像Array.prototype.slice.call(nodeList, 2)这样调用。

获取方法

document.getElementsByClassName

document.getElementsByTagName

注意

document.getElementById:根据ID查找元素,大小写敏感,如果有多个结果,只返回第一个;

document.getElementsByClassName:根据类名查找元素,多个类名用空格分隔,返回一个HTMLCollection。注意兼容性为IE9+(含)。另外,不仅仅是document,其它元素也支持getElementsByClassName方法;

document.getElementsByTagName:根据标签查找元素,*表示查询所有标签,返回一个HTMLCollection。

document.getElementsByName:根据元素的name属性查找,返回一个NodeList。

document.querySelector:返回单个Node,IE8+(含),如果匹配到多个结果,只返回第一个。

document.querySelectorAll:返回一个NodeList,IE8+(含)。

document.forms:获取当前页面所有form,返回一个HTMLCollection;