안녕하세요. 선생님, 최종과제가 어려워 소스를 보고 주석을 달아보고 다시 만들어보려고 하고 있는데요. 혼자 찾아보다 어려운 코드가 있어 질문드립니다!
1. $()안에 `문자열을 담으면 어떤 의미인가요?? div태그 하나만 짚거나 하는 게 아니라 문자열을 한번에 짚으니 조금 헷갈립니다.

2. revert: 'invalid' 이게 무슨 뜻인가요?
3. forEach()와 each()는 같은 기능인가요?
4.첫로드시실행할거() 함수에 있는 var products = [];는 쓰임새가 어떻게 되나요?
5. dialog('widget')이 의미하는 게 뭔지 모르겠습니다. open: function (event, ui) { 에서 ui는 왜 들어간걸까요?
6.var ctx = cvs[0].getContext('2d');에서 cvs[0]이 무슨 뜻인가요? 2d 그래픽으로 그리는 거는 알겠는데 왜 배열이 들어가는지 모르겠습니다.
7.마지막에 onSearch() 함수는 만들어지기만 하고 사용된 부분이 안 보이는데 어떻게사용이 가능할걸까요?
8.장바구니상품.find("input[type='number']").on('keyup change', function () { keyup이 검색해보니까 방향키 위에를 누르면 변화한다는 것 같은데 아래키를 눌러도 동작합니다 keyup만 해줘도 되는걸까요??