목차
1. 양식에 대한 기본 지식
1. <form> 요소를 가져옵니다
2 . 제출 양식
3. 재설정 양식
4. 양식 필드
二、文本框脚本
1. 选择文本
2. 过滤输入
3. 自动切换焦点
4. HTML5约束验证API
三、选择框脚本
1. 选择选项
2. 添加选项
3. 移除选项
4. 移动和重排选项
四、表单序列化
五、富文本编辑
웹 프론트엔드 JS 튜토리얼 JavaScript 양식 스크립트 소개

JavaScript 양식 스크립트 소개

Aug 09, 2017 pm 02:17 PM
javascript js 소개

사람들이 처음 JavaScript를 사용하기 시작했을 때 주요 목적 중 하나는 양식 유효성 검사와 양식 처리에 대한 서버의 책임을 공유하는 것이었습니다. 많이 사용되는 제출 방법은 대부분 ajax를 통해 이루어지지만, 양식을 이해하는 것도 ajax 방법에 큰 도움이 됩니다! 그러므로 형태를 과소평가하지 마십시오.

1. 양식에 대한 기본 지식

HTML에서는 양식이 요소로 표현되지만 JavaScript에서는 양식이 HTMLFormElement 유형에 해당합니다.
테이블 HTMLFormElement 속성 및 메서드

속성 또는 메서드 함수 설명
acceptCharset 서버가 처리할 수 있는 문자 집합. HTML의 accept-charset 기능과 동일
action 요청된 URL을 수신합니다. HTML의 작업 속성과 동일합니다.
elements 양식의 모든 컨트롤 모음(HTMLCollection)
enctype 요청의 인코딩 유형입니다. HTML enctype 속성
length 양식의 컨트롤 수
method 전송할 HTTP 요청 유형. HTML 메서드 속성
name 이름 양식; HTML의 이름 속성과 동일
reset() 모든 양식 필드를 기본값으로 재설정
submit() 양식 제출
target 에 사용된 창의 이름 요청을 보내고 응답을 받습니다. HTML의 대상 기능과 동일합니다

1. <form> 요소를 가져옵니다

방법 1: GetElementById(요소 ID)

var form = document.getElementById("form1");1
로그인 후 복사

방법 2: document.forms를 통해 페이지의 모든 양식을 가져온 다음 숫자 인덱스를 통해 해당 양식을 가져옵니다

var firstForm = document.forms[0];1
로그인 후 복사

방법 3 : document.forms를 통해 가져옵니다. 페이지의 모든 양식을 가져온 다음 페이지의 양식 이름으로 해당 양식을 가져옵니다.

var myForm = document.forms["form2"];1
로그인 후 복사

방법 4: 초기 브라우저는 name 속성을 사용하여 각 양식을 문서의 속성으로 저장합니다. object [이 방법은 사용하지 않는 것이 좋습니다]

var myFormf = document.form2;1
로그인 후 복사

2 . 제출 양식

(1) 제출 버튼 제출
방법 1: 범용 제출 버튼

<input type="submit" value="Submit Form" />1
로그인 후 복사

방법 2: 맞춤 제출 버튼

<button type="submit">Submit Form</button>1
로그인 후 복사

방법 3: 이미지 버튼

<input type="image" value="submitBtn.gif" />1
로그인 후 복사

위에 나열된 항목 중 하나라도 양식 버튼에 있으면 해당 양식 컨트롤에 포커스가 있을 때 Enter 키를 눌러 양식을 제출할 수 있습니다. (텍스트 영역 제외. 텍스트 영역에 캐리지 리턴을 입력하면 새 줄이 생성됩니다.) 양식에 제출 버튼이 없으면 Enter 키를 눌러도 양식이 제출되지 않습니다.
Note 위의 방법으로 양식을 제출하면 브라우저는 서버에 요청을 보내기 전에 submit 이벤트를 트리거합니다.
이렇게 하면 양식의 유효성을 검사해야 하는지 결정할 수 있습니다. 이 이벤트의 기본 동작을 차단하면 양식 제출이 취소됩니다.

<form action="http://www.baidu.com">    <input id="name"/>    <button type="submit">Submit Form</button></form><script type="text/javascript">    var form = document.forms[0];
    form.addEventListener("submit", function(event) {        var name = document.getElementById("name");        if(name.value === "") {
            event.preventDefault();
        }
    });</script>12345678910111213
로그인 후 복사

Additional: Enter를 통한 양식 제출을 비활성화하려면 [Enter를 입력하여 양식 제출을 방지하는 HTML]

(2) JavaScript로 제출

var form = document.forms[0];form.submit();12
로그인 후 복사

참고을 참조하세요. 이 방법은 실행되지 않습니다. 제출 이벤트.

폼 제출 시 발생할 수 있는 가장 큰 문제는 폼을 반복해서 제출하는 것입니다.
해결책:
(1) 처음으로 양식을 제출한 후 제출 버튼을 비활성화합니다.
'클릭' 이벤트 핸들러 함수가 아닌 '제출' 이벤트 핸들러 함수에서 처리해야 합니다. 일부 브라우저는 클릭 이벤트가 트리거되기 전에 제출 이벤트를 트리거하기 때문입니다!
(2) 후속 양식 제출 방법을 취소하려면 onsubmit 이벤트 핸들러를 사용하십시오.

저희 프로젝트에서는 ajax를 통해 요청을 제출하는데, 반복 제출을 방지하는 방법은 위의 (2)와 대략 유사합니다. 전송, 전송 성공 및 전송 프로세스 완료 전에 ajax를 가로채고 상태 머신을 사용하여 현재 상태(로드, 다시 제출, 성공, 오류)를 식별합니다. 사용자가 ajax를 요청하면 현재 어떤 상태인지 확인합니다.

  • 초기 상태가 null이면 요청이 직접 전송되고 상태가 로드 중으로 전환됩니다.

  • 로드 중이거나 다시 제출되는 경우 "요청을 처리 중입니다"라는 메시지가 표시되고 요청을 반복하지 마십시오"라는 메시지가 표시되고 상태를 다시 제출로 전환합니다.

  • 성공 또는 오류인 경우 "성공 또는 실패"라는 메시지가 표시된 다음 상태를 복원으로 변경합니다. 초기 상태.

3. 재설정 양식

(1) 재설정 버튼 제출
방법 1: 범용 재설정 버튼

<input type="reset" value="Reset Form" />1
로그인 후 복사

방법 2: 사용자 정의 재설정 버튼

<button type="reset">Reset Form</button>1
로그인 후 복사

참고, 위 방법을 통해 양식을 재설정하면 브라우저가 재설정 이벤트를 트리거합니다. 이 이벤트의 기본 동작을 차단하면 재설정 제출이 취소됩니다.

<form action="http://www.php.cn">    
<input id="name"/>    
<button type="submit">Submit Form</button>    
<button type="reset"> Reset Form</button>
</form>
<script type="text/javascript">   
 var form = document.forms[0];
    form.addEventListener("reset", function(event) {
        alert("我就不让你重置,咋地!");
        event.preventDefault();
    })</script>123456789101112
로그인 후 복사

(2) JavaScript

var form = document.forms[0];form.reset();12
로그인 후 복사

참고에서 재설정하면 이 메서드는 재설정 이벤트를 트리거하지 않습니다.

4. 양식 필드

  • form.elements, 양식의 모든 컨트롤 컬렉션을 가져옵니다(HTMLCollection).

  • form.elements[n]; //n+1번째 요소 반환

  • form.elements["name"] //이름 값이 "name"인 NodeList 반환

<form action=" 
<input id="name" name="name"/>
<input type="radio" name="color" value="red"/>Red
<input type="radio" name="color" value="green"/>Green
<input type="radio" name="color" value="blue"/>Blue
<button type="submit">Submit Form</button>
<button type="reset"> Reset Form</button>
</form>
<script type="text/javascript">var form = document.forms[0];
form.elements[1] === form.elements["color"][0];// value值为red的input标签</script>123456789101112
로그인 후 복사

( 1 ) 양식 필드 속성

Attribute함수 설명
disabled현재 필드가 비활성화되었는지 여부를 나타내는 부울 값
form현재 필드가 포함된 양식에 대한 포인터 읽기 전용
name현재 필드의 이름
readOnly현재 필드가 읽기 전용인지 여부를 나타내는 부울 값
tabIndex전환(탭)을 나타냅니다. 현재 필드의 시퀀스 번호
type 현재 필드의 유형
value서버에 제출되는 현재 필드의 값입니다. 파일 필드의 경우 이 속성은 읽기 전용이며 컴퓨터
에 있는 파일 경로를 포함합니다.

(2)表单字段方法

  • foucs()获取焦点,激活字段,使其可以响应键盘事件

  • blur()失去交单。

window.addEventListener("load", function() {
   document.forms[0].elements[0].focus();   // 让表单第一个元素获取焦点});123
로그인 후 복사

HTML5中表单字段新增了autofoucs属性。

<input type="text" autofoucs />1
로그인 후 복사

(3)表单字段事件

  • blur:当前字段失去焦点触发

  • change:对于和元素,在它们失去焦点且value值改变时触发;对于元素,在其选项改变时触发。

  • focus:当前字段获取焦点时触发

表单错误提示流程:利用focus事件修改文本框的背景颜色,以便清楚表明这个字段获取了焦点;利用blur事件恢复文本框的背景颜色;利用change事件在用户输入了非规定字符时提示错误。
在项目中的validate插件,只用到了blur和focus事件。因为某些浏览器中,blur事件会先于change事件;有些会恰好相反!

二、文本框脚本

HTML中,有两种方式表示文本框:单行文本框<input type="text">、多行文本框<textarea>
(1)单行文本框
通过设置size特性,可以指定文本框中能够显示的字符数;通过设置value特性,可以指定文本框的初始值;通过设置maxlength特性,可以指定文本框可以接受的最大字符数。

<!-- 显示5个字符(input 元素的宽度),输入不能超过10个字符--><input type="text" value="初始值放到这里" size="5" maxlength="10"/>12
로그인 후 복사

(2)多行文本框
rows设置文本框行数,cols设置文本框列数。

<textarea cols="10" rows="5">初始值必须放在这里</textarea>1
로그인 후 복사

上述两种文本框,都会将用户输入的内容保存在value属性中!!!

1. 选择文本

(1)选择(select)事件
选择文本框中所有文本select()方法,对应的是一个select事件,同样存在触发时间的问题!

var input = document.getElementById("name");
input.addEventListener("focus", function(event) {    event.target.select();
});1234
로그인 후 복사

(2)取得选择的文本

var textarea = document.getElementById("content");textarea.addEventListener("select", function(event) {
if(typeof textarea.selectionStart === "number") {
console.log(textarea.value.substring(textarea.selectionStart, textarea.selectionEnd));}else if(document.selection){
// IE下
console.log(document.selection.createRange().text);}
});123456789
로그인 후 복사

(3)选择部分文本
setSelectionRange(要选择的第一个字符索引, 要选择的最后一个字符索引)
注意要看到被选择的文本,必须在调用setSelectionRange()之前或之后立即将焦点设置到文本框。

function selectText(textbox, startIndex, endIndex) {    if(textbox.setSelectionRange) {
        textbox.setSelectionRange(startIndex, endIndex);
    } else if(textbox.createTextRange) {        var range = textbox.createTextRange();        range.collapse(true);        range.moveStart("character", startIndex);        range.moveEnd("character", endIndex - startIndex);        range.select();
    }    // 将焦点设置到文本框上
    textbox.focus();
}12345678910111213
로그인 후 복사

部分选择文本的技术在实现高级文本输入框时很有用,例如提供自动完成建议的文本框就可以使用这种技术。

2. 过滤输入

(1)屏蔽字符
当需要用于输入的文本中不能包含某些字符时,例如手机号,只能输入字符!

var input = document.getElementById("name");
input.addEventListener("keypress", function(event) {    if(!/\d/.test(String.fromCharCode(event.charCode)) && event.charCode > 9 && !event.ctrlKey) {        // 只允许输入数字和退格特殊键以及Ctrl        event.preventDefault();
    }
});1234567
로그인 후 복사

更极端的方式,可以通过event.preventDefault();阻止其默认行为来禁止按键操作,即文本框只读!!
(2)操作剪贴板

var EventUtil = {
    getClipboardText: function(event){        var clipboardData =  (event.clipboardData || window.clipboardData); // 兼容IE        return clipboardData.getData("text");
    },
    setClipboardText: function(event, value){        if (event.clipboardData){            event.clipboardData.setData("text/plain", value);
        } else if (window.clipboardData){   // 兼容IE
            window.clipboardData.setData("text", value);
        }
    }
};var input = document.getElementById("name");
input.addEventListener("paste", function(event) {    var data = event.clipboardData.getData("text");
    console.log(data);    if(!/^\d*$/.test(data)) {        // 只允许粘贴数字        event.preventDefault();
    }
});1234567891011121314151617181920212223
로그인 후 복사

3. 自动切换焦点

用户填写完当前字段时,自动将焦点切换到下一个字段。

<p>Enter your telephone number:</p><input type="text" name="tel1" id="txtTel1" size="3" maxlength="3" ><span>-</span><input type="text" name="tel2" id="txtTel2" size="3" maxlength="3" ><span>-</span><input type="text" name="tel3" id="txtTel3" size="4" maxlength="4" >123456
로그인 후 복사
(function(){    
    function tabForward(event){            
        event = EventUtil.getEvent(event);
        var target = EventUtil.getTarget(event);
        if (target.value.length == target.maxLength){
            var form = target.form;        
            for (var i=0, len=form.elements.length; i < len; i++) {
                if (form.elements[i] == target) {
                    if (form.elements[i+1]){
                        form.elements[i+1].focus();
                    }
                    return;
                }
            }
        }
    }

    var textbox1 = document.getElementById("txtTel1"),
        textbox2 = document.getElementById("txtTel2"),
        textbox3 = document.getElementById("txtTel3");

    EventUtil.addHandler(textbox1, "keyup", tabForward);        
    EventUtil.addHandler(textbox2, "keyup", tabForward);        
    EventUtil.addHandler(textbox3, "keyup", tabForward);            })();12345678910111213141516171819202122232425
로그인 후 복사

4. HTML5约束验证API

(1)必填字段:<input type="text" required />
(2)特殊输入类型:<input type="email | url" />
(3)数值范围:<input type="number" min="0" max="10" />
(4)输入模式:<input type="text" pattern="\d+" />注意,模式的开头和末尾不用加^和$符合(默认已经有了)
(5)检测有效性:checkValidatity()
(6)禁用验证:

<!-- 整个表单不进行验证 --><form method="post" action="" novalidate ><!-- 某个按钮提交不必验证表单--><input type="submit" formnovalidate name="btnNoValidate" />1234
로그인 후 복사

三、选择框脚本

<select><option>元素创建
HTMLSelectElement的属性和方法:

属性和方法作用说明
add(newOption, relOption)向控件中插入新项,其位置在相关项relOption之前
multiple是否支持多项选择
options所有项集合
remove(index)移除给定位置的选项
selectIndex基于0的选中项的索引,如果没有选中项,则该值为-1;对于支持多选的控件,只保存选中项的第一项索引
size选择框中可见的行数

HTMLOptionElement的属性和方法:

属性和方法作用说明
index当前选项在options集合中的索引
label当前选项的标签
selected当前选项是否被选中
text选项的文本
value选项的值
<form method="post" action="" id="myForm">
    <label for="selLocation">Where do you want to live?</label>
    <select name="location" id="selLocation">
        <option value="Sunnyvale, CA">Sunnyvale</option>
        <option value="Los Angeles, CA">Los Angeles</option>
        <option value="Mountain View, CA">Mountain View</option>
        <option value="">China</option>
        <option>Australia</option>
    </select>
</form>12345678910
로그인 후 복사
// 选择上述每个选项后,value值分别为:["Sunnyvale, CA", "Los Angeles, CA", "Mountain View, CA", "", "Australia"]
document.getElementById("selLocation").value; // 获得第一个选项的文本和值
document.forms[0].elements["location"].options[0].text;document.forms[0].elements["location"].options[0].value;12345
로그인 후 복사

(1)展示规则:有value属性且值不为空,则展示value属性的值;否则展示该项的文本值。
(2)value值规则:有value属性(不管是否为空),获得的都是对应value属性的值;否则为该项文本值。

1. 选择选项

function getSelectedOptions(selectbox){    var result = new Array();    var option = null;    for (var i=0, len=selectbox.options.length; i < len; i++){
        option = selectbox.options[i];        if (option.selected){
            result.push(option);
        }
    }    return result;            
}12345678910111213
로그인 후 복사

2. 添加选项

(1)DOM方式

var newOption = document.createElement("option");newOption.appendChild(document.createTextNode("Option text"));newOption.setAttribute("value", "Option value");selectbox.appendChild(newOption);1234
로그인 후 복사

(2)Option构造函数

var newOption = new Option("Option text", "Option value");
selectbox.appendChild(newOption);12
로그인 후 복사

(3)选择框的add方法(最佳方案)

var newOption = new Option("Option text", "Option value");
selectbox.add(newOption, undefined);    // 插入到最后12
로그인 후 복사

3. 移除选项

(1)DOM方

selectbox.removeChild(selectbox.options[0]);1
로그인 후 복사

(2)选择框的remov

selectbox.remove(0);1
로그인 후 복사

(3)将相应的选项设置为null(遗留机制)

selectbox.options[0] = null;1
로그인 후 복사

4. 移动和重排选项

DOM的appendChild方法(只能添加到最后),如果appendChild传入一个文档中已有的元素,那么就会先从该元素的父节点中移除它,再把它添加到指定的位置。

// 将第一个选择框中的第一个选项移动到第二个选择框中
var selectbox1 = document.getElementById("selLocations1"),
    selectbox2 = document.getElementById("selLocations2");selectbox2.appendChild(selectbox1.options[0]);  1234
로그인 후 복사

DOM的insertBefore方法

// 将选择框中的选项向后移动一个位置
var optionToMove = selectbox.options[selectbox.options.length - 1]; selectbox.insertBefore(optionToMove, selectbox.options[0]);123
로그인 후 복사

四、表单序列化

  • 对表单字段的名称和值进行URL编码,使用“&”分隔;

  • 不发送禁用的表单字段;

  • 只发送勾选的复选框和单选按钮;

  • 不发送type为“reset”和“button”的按钮;

  • 选择框中每个选中的值单独条目发送;

五、富文本编辑

contenteditable:用户立即可编辑该元素

data:text/html, <html contenteditable>1
로그인 후 복사

위 내용은 JavaScript 양식 스크립트 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

권장 사항: 우수한 JS 오픈 소스 얼굴 감지 및 인식 프로젝트 권장 사항: 우수한 JS 오픈 소스 얼굴 감지 및 인식 프로젝트 Apr 03, 2024 am 11:55 AM

얼굴 검출 및 인식 기술은 이미 상대적으로 성숙하고 널리 사용되는 기술입니다. 현재 가장 널리 사용되는 인터넷 응용 언어는 JS입니다. 웹 프런트엔드에서 얼굴 감지 및 인식을 구현하는 것은 백엔드 얼굴 인식에 비해 장점과 단점이 있습니다. 장점에는 네트워크 상호 작용 및 실시간 인식이 줄어 사용자 대기 시간이 크게 단축되고 사용자 경험이 향상된다는 단점이 있습니다. 모델 크기에 따라 제한되고 정확도도 제한됩니다. js를 사용하여 웹에서 얼굴 인식을 구현하는 방법은 무엇입니까? 웹에서 얼굴 인식을 구현하려면 JavaScript, HTML, CSS, WebRTC 등 관련 프로그래밍 언어 및 기술에 익숙해야 합니다. 동시에 관련 컴퓨터 비전 및 인공지능 기술도 마스터해야 합니다. 웹 측면의 디자인으로 인해 주목할 가치가 있습니다.

Python ORM 성능 벤치마크: 다양한 ORM 프레임워크 비교 Python ORM 성능 벤치마크: 다양한 ORM 프레임워크 비교 Mar 18, 2024 am 09:10 AM

ORM(객체 관계형 매핑) 프레임워크는 Python 개발에서 중요한 역할을 하며, 객체와 관계형 데이터베이스 사이에 브리지를 구축하여 데이터 액세스 및 관리를 단순화합니다. 다양한 ORM 프레임워크의 성능을 평가하기 위해 이 기사에서는 다음과 같은 널리 사용되는 프레임워크를 벤치마킹합니다. sqlAlchemyPeeweeDjangoORMPonyORMTortoiseORM 테스트 방법 벤치마크에서는 100만 개의 레코드가 포함된 SQLite 데이터베이스를 사용합니다. 테스트는 데이터베이스에서 다음 작업을 수행했습니다. 삽입: 테이블에 10,000개의 새 레코드를 삽입합니다. 읽기: 테이블의 모든 레코드를 읽습니다. 업데이트: 테이블의 모든 레코드에 대해 단일 필드를 업데이트합니다. 삭제: 테이블의 모든 레코드를 삭제합니다. 각 작업

js와 vue의 관계 js와 vue의 관계 Mar 11, 2024 pm 05:21 PM

js와 vue의 관계: 1. 웹 개발의 초석인 JS 2. 프론트엔드 프레임워크로서의 Vue.js의 등장 3. JS와 Vue의 상호 보완적인 관계 4. JS와 Vue의 실제 적용 Vue.

빅데이터 프로젝트에 Python ORM 적용 빅데이터 프로젝트에 Python ORM 적용 Mar 18, 2024 am 09:19 AM

ORM(객체 관계형 매핑)은 개발자가 SQL 쿼리를 직접 작성하지 않고도 객체 프로그래밍 언어를 사용하여 데이터베이스를 조작할 수 있도록 하는 프로그래밍 기술입니다. Python의 ORM 도구(예: SQLAlchemy, Peewee 및 DjangoORM)는 빅 데이터 프로젝트의 데이터베이스 상호 작용을 단순화합니다. 장점 코드 단순성: ORM을 사용하면 긴 SQL 쿼리를 작성할 필요가 없으므로 코드 단순성과 가독성이 향상됩니다. 데이터 추상화: ORM은 데이터베이스 구현 세부 사항에서 애플리케이션 코드를 분리하여 유연성을 향상시키는 추상화 계층을 제공합니다. 성능 최적화: ORM은 캐싱 및 일괄 작업을 사용하여 데이터베이스 쿼리를 최적화함으로써 성능을 향상시키는 경우가 많습니다. 이식성: ORM을 통해 개발자는 다음을 수행할 수 있습니다.

현재 페이지를 새로 고치는 js 메소드 현재 페이지를 새로 고치는 js 메소드 Jan 24, 2024 pm 03:58 PM

현재 페이지를 새로 고치는 js 메소드: 1. location.reload(); 2. location.href; 4. window.location. 자세한 소개: 1. location.reload(), 현재 페이지를 다시 로드하려면 location.reload() 메소드를 사용하십시오. 2. location.href, location.href 속성 등을 설정하여 현재 페이지를 새로 고칠 수 있습니다.

JS에서 __proto__와 프로토타입의 차이점 JS에서 __proto__와 프로토타입의 차이점 Feb 19, 2024 pm 01:38 PM

__proto__와 프로토타입은 JS의 프로토타입과 관련된 두 가지 속성으로 약간 다른 기능을 가지고 있습니다. 이 기사에서는 둘 사이의 차이점을 자세히 소개하고 비교하고 해당 코드 예제를 제공합니다. 먼저, 그 의미와 용도를 이해해 봅시다. proto__proto__는 객체의 프로토타입을 가리키는 객체의 내장 속성입니다. 사용자 정의 객체, 내장 객체, 함수 객체를 포함한 모든 객체에는 __proto__ 속성이 있습니다. __proto__ 속으로

JS의 AI 시대가 왔습니다! JS의 AI 시대가 왔습니다! Apr 08, 2024 am 09:10 AM

JS-Torch 소개 JS-Torch는 구문이 PyTorch와 매우 유사한 딥 러닝 JavaScript 라이브러리입니다. 여기에는 완전한 기능을 갖춘 텐서 객체(추적된 그라디언트와 함께 사용 가능), 딥 러닝 레이어 및 기능, 자동 미분 엔진이 포함되어 있습니다. JS-Torch는 JavaScript의 딥러닝 연구에 적합하며 딥러닝 개발을 가속화할 수 있는 다양한 편리한 도구와 기능을 제공합니다. Image PyTorch는 Meta 연구팀이 개발하고 유지 관리하는 오픈 소스 딥 러닝 프레임워크입니다. 신경망 모델을 구축하고 훈련하기 위한 풍부한 도구와 라이브러리 세트를 제공합니다. PyTorch는 간단하고 유연하며 사용하기 쉽게 설계되었으며 동적 계산 그래프 기능을 통해

Python ORM을 사용하여 효율적인 데이터 지속성 구현 Python ORM을 사용하여 효율적인 데이터 지속성 구현 Mar 18, 2024 am 09:25 AM

ORM(Object-Relational Mapping)은 객체지향 프로그래밍 언어와 관계형 데이터베이스를 연결하는 기술입니다. pythonORM을 사용하면 데이터 지속성 작업이 크게 단순화되어 애플리케이션 개발 효율성과 유지 관리성이 향상됩니다. PythonORM을 사용하면 다음과 같은 장점이 있습니다. 상용구 코드 감소: ORM은 자동으로 SQL 쿼리를 생성하므로 많은 상용구 코드를 작성하지 않아도 됩니다. 데이터베이스 상호 작용 단순화: ORM은 데이터베이스와의 상호 작용을 위한 통합 인터페이스를 제공하여 데이터 작업을 단순화합니다. 보안 향상: ORM은 SQL 주입과 같은 보안 취약성을 방지할 수 있는 매개변수화된 쿼리를 사용합니다. 데이터 일관성 향상: ORM은 개체와 데이터베이스 간의 동기화를 보장하고 데이터 일관성을 유지합니다. ORM을 선택하세요

See all articles